Re: module std_ops function

Jerome Leveque <jerl1-fBIn7JHAfCbUKx/[email protected]> Mon, 15 Sep 2003 23:13:37 +0200
Newsgroups gmane.os.openbeos.midi
Message-ID <[email protected]>
Hi, sorry but I can't help help you about that.

Jerome

> Hi,
> When you get_module the very first thing that seems to be called is the 
> B_MODULE_INIT:
>
> my code:
> static status_t
> std_ops(int32 op, ...)
> {
> 	dprintf("std_ops 0x%x\n", op);
> 	
> 	switch(op) {
> 	case B_MODULE_INIT:
> 		mpu_readlock = create_sem(0, "mpu401 read");
> 	     //set_sem_owner(mpu_readlock, B_SYSTEM_TEAM);
> 		if (mpu_readlock < B_OK)
> 			return mpu_readlock;
> 		dprintf("mpu401: B_MODULE_INIT  sem_id:%d\n",mpu_readlock);
> 		if (get_module(B_ISA_MODULE_NAME, (module_info **)&gISA) < B_OK)
> 		{
> 			dprintf("could not get ISA module\n");
> 		  return (B_ERROR);
> 		}
> 	return B_OK;
> 	
> 	case B_MODULE_UNINIT:
> ...etc..
> }
>
> Is there a way to determine what is being passed to the 'std_ops( int32, 
> ...)' function?   I'm not clear what the '...' could be or how it works.
>
> I'm returning a B_OK, but it seems that for the AWE64, there is something 
> more that the caller is expecting from the B_MODULE_INIT.  The R5 module 
> works, but with my module code the AWE64 driver does not continue 
> initializing after this point.
>
>
> Greg
>
>
>
>