Changeset 508


Ignore:
Timestamp:
Jul 11, 2010, 5:32:01 PM (15 years ago)
Author:
David Azarewicz
Message:

Added status function

Location:
OCO/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • OCO/trunk/drv16/ossidc16.cpp

    r483 r508  
    291291
    292292   *lpBytesLeft = idcpacket.getspace.bytesavail;
     293   return ret;
     294}
     295//******************************************************************************
     296//******************************************************************************
     297OSSRET DBGCALLCONV OSS16_WaveGetStatus(OSSSTREAMID StreamId, ULONG FAR *lpStatus)
     298{
     299   IDC32_PACKET idcpacket;
     300   OSSRET       ret;
     301
     302   _fmemset(&idcpacket, 0, sizeof(idcpacket));
     303
     304   idcpacket.fileid        = FindStreamFileId_fromStreamId(StreamId);
     305   idcpacket.streamid      = StreamId;
     306   ret =  CallOSS32(IDC32_WAVE_GETSTATUS, &idcpacket);
     307
     308   *lpStatus = idcpacket.status.state;
    293309   return ret;
    294310}
  • OCO/trunk/include/ossidc.h

    r391 r508  
    4141typedef struct
    4242{
    43   OSSSTREAMID streamid; //IN:  stream id
    44   ULONG       fileid;
    45   union {
    46         struct {
    47                 ULONG   handler16;      //IN: 16:16 address of pdd idc handler
    48         } init;
    49         struct {
    50                 ULONG   devicenr;       //IN:  nr of detected device
    51                 ULONG   streamtype;     //IN:  stream type
    52         } open;
    53         struct {
    54                 ULONG   devicenr;       //IN:  nr of detected device
    55                 ULONG   pDevCaps;       //IN:  16:16 stack based pointer to OSS32_DEVCAPS structure
    56         } devcaps;
    57         struct {
    58                 ULONG   position;       //OUT: stream position
    59         } getpos;
    60         struct {
    61                 ULONG   hwparams;       //IN:  16:16 pointer to OSS32_HWPARAMS structure
    62         } sethwparams;
    63         struct {
    64                 ULONG   bytesavail;     //OUT: bytes available in dma buffer
    65         } getspace;
    66         struct {
    67                 ULONG   volume;         //IN:  wave stream volume
    68         } setwavevol;
    69         struct {
    70                 ULONG   buffer;         //IN:  physical address of mmpm/2 buffer
    71                 ULONG   size;           //IN:  size of mmpm/2 buffer
    72                 ULONG   transferred;    //OUT: nr of bytes transferred
    73         } buffer;
    74         struct {
    75                 ULONG   midiByte;
    76         } midiwrite;
    77         struct {
    78                 ULONG   buffer;         //IN: data buffer
    79                 ULONG   bufsize;        //IN: size of data buffer
    80                 ULONG   transferred;    //OUT: nr of bytes transferred
    81         } midiread;
    82         struct {
    83                 ULONG   pCaps;          //IN: 16:16 stack based pointer to OSSMIDICAPS structure
    84         } midicaps;
    85         struct {
    86                 BYTE    channel;        //IN: channel nr
    87                 BYTE    param1;         //IN: midi command parameter 1
    88                 BYTE    param2;         //IN: midi command parameter 2
    89         } midicmd;
    90         struct {
    91                 ULONG   line;           //IN: mixer line
    92                 ULONG   volume;         //IN/OUT: volume (set/get)
    93         } mixvol;
    94         struct {
    95                 ULONG   property;       //IN: mixer property
    96                 ULONG   value;          //IN/OUT: property value (set/get)
    97         } mixprop;
    98         struct {
    99                 ULONG   pCaps;          //IN: 16:16 stack based pointer to OSSMIXCAPS structure
    100         } mixcaps;
    101         struct {
    102                 ULONG   param1;
    103                 ULONG   param2;
    104                 ULONG   param3;
     43        OSSSTREAMID streamid;   //IN:  stream id
     44        ULONG       fileid;
     45        union {
     46                struct {
     47                        ULONG   handler16;      //IN: 16:16 address of pdd idc handler
     48                } init;
     49                struct {
     50                        ULONG   devicenr;       //IN:  nr of detected device
     51                        ULONG   streamtype;     //IN:  stream type
     52                } open;
     53                struct {
     54                        ULONG   devicenr;       //IN:  nr of detected device
     55                        ULONG   pDevCaps;       //IN:  16:16 stack based pointer to OSS32_DEVCAPS structure
     56                } devcaps;
     57                struct {
     58                        ULONG   position;       //OUT: stream position
     59                } getpos;
     60                struct {
     61                        ULONG   state;  //OUT: stream state
     62                } status;
     63                struct {
     64                        ULONG   hwparams;       //IN:  16:16 pointer to OSS32_HWPARAMS structure
     65                } sethwparams;
     66                struct {
     67                        ULONG   bytesavail;     //OUT: bytes available in dma buffer
     68                } getspace;
     69                struct {
     70                        ULONG   volume;         //IN:  wave stream volume
     71                } setwavevol;
     72                struct {
     73                        ULONG   buffer;         //IN:  physical address of mmpm/2 buffer
     74                        ULONG   size;           //IN:  size of mmpm/2 buffer
     75                        ULONG   transferred;    //OUT: nr of bytes transferred
     76                } buffer;
     77                struct {
     78                        ULONG   midiByte;
     79                } midiwrite;
     80                struct {
     81                        ULONG   buffer;         //IN: data buffer
     82                        ULONG   bufsize;        //IN: size of data buffer
     83                        ULONG   transferred;    //OUT: nr of bytes transferred
     84                } midiread;
     85                struct {
     86                        ULONG   pCaps;          //IN: 16:16 stack based pointer to OSSMIDICAPS structure
     87                } midicaps;
     88                struct {
     89                        BYTE    channel;        //IN: channel nr
     90                        BYTE    param1;         //IN: midi command parameter 1
     91                        BYTE    param2;         //IN: midi command parameter 2
     92                } midicmd;
     93                struct {
     94                        ULONG   line;           //IN: mixer line
     95                        ULONG   volume;         //IN/OUT: volume (set/get)
     96                } mixvol;
     97                struct {
     98                        ULONG   property;       //IN: mixer property
     99                        ULONG   value;          //IN/OUT: property value (set/get)
     100                } mixprop;
     101                struct {
     102                        ULONG   pCaps;          //IN: 16:16 stack based pointer to OSSMIXCAPS structure
     103                } mixcaps;
     104                struct {
     105                        ULONG   param1;
     106                        ULONG   param2;
     107                        ULONG   param3;
     108                };
    105109        };
    106   };
    107110} IDC32_PACKET, NEAR *PIDC32_PACKET;
    108111
     
    132135#define IDC32_WAVE_SETVOLUME            0x1C
    133136#define IDC32_WAVE_GETHWPTR             0x1D
     137#define IDC32_WAVE_GETSTATUS             0x1E
    134138
    135139#define IDC32_MIXER_OPEN                0x20
  • OCO/trunk/include/ossidc16.h

    r391 r508  
    7171OSSRET DBGCALLCONV OSS16_WaveSetVolume(OSSSTREAMID StreamId, ULONG volume);
    7272OSSRET DBGCALLCONV OSS16_WaveGetHwPtr(OSSSTREAMID StreamId, ULONG FAR *lpPosition);
     73OSSRET DBGCALLCONV OSS16_WaveGetStatus(OSSSTREAMID StreamId, ULONG FAR *lpStatus);
    7374
    7475OSSRET DBGCALLCONV OSS16_MixOpen(ULONG devicenr, OSSSTREAMID FAR *pStreamid);
Note: See TracChangeset for help on using the changeset viewer.