[openbeos-midi] module std_ops function

  • From: Crain Greg <greg.crain@xxxxxxxxxxx>
  • To: "'openbeos-midi@xxxxxxxxxxxxx'" <openbeos-midi@xxxxxxxxxxxxx>
  • Date: Mon, 15 Sep 2003 12:24:47 -0400

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
     


Other related posts: