module std_ops function

Crain Greg <[email protected]> Mon, 15 Sep 2003 12:24:47 -0400
Newsgroups gmane.os.openbeos.midi
Message-ID <59494E2589FBF14AB5BB0523274BC768116599@abhe341a.abhe.ww011.siemens.net>
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