Changeset 588 for GPL


Ignore:
Timestamp:
Feb 10, 2017, 2:50:49 AM (9 years ago)
Author:
David Azarewicz
Message:

Build system cleanup

Location:
GPL/branches/uniaud32-2.1.x
Files:
35 added
37 deleted
19 edited
7 moved

Legend:

Unmodified
Added
Removed
  • GPL/branches/uniaud32-2.1.x/!clean.cmd

    r573 r588  
    1 @echo off
    2 SET KEE=0
    3 wmake -ms -f makefile.os2 clean
    4 wmake -ms -f makefile.os2 DEBUG=1 clean
    5 SET KEE=1
    6 wmake -ms -f makefile.os2 clean
    7 wmake -ms -f makefile.os2 DEBUG=1 clean
    8 SET KEE=
     1wmake clean
    92
  • GPL/branches/uniaud32-2.1.x/alsa-kernel/pci/ac97/Makefile

    r398 r588  
     1!ifndef %ROOT
     2!error ROOT is not defined. Please check your SETENV.CMD.
     3!endif
     4ROOT=$(%ROOT)
     5
     6!include $(ROOT)\tools\header.mif
     7
     8
     9#===================================================================
    110#
    2 # Makefile for ALSA
    3 # Copyright (c) 2001 by Jaroslav Kysela <perex@perex.cz>
     11#   List of source files
    412#
     13#===================================================================
     14FILES = ac97_codec.obj ac97_pcm.obj ac97_proc.obj
    515
    6 snd-ac97-codec-y := ac97_codec.o ac97_pcm.o
    7 snd-ac97-codec-$(CONFIG_PROC_FS) += ac97_proc.o
     16TARGET = ac97
    817
    9 # Toplevel Module Dependency
    10 obj-$(CONFIG_SND_AC97_CODEC) += snd-ac97-codec.o
     18LNKFILE = $(OBJDIR)\$(TARGET).lnk
     19
     20
     21#===================================================================
     22#
     23#   Specific dependencies
     24#
     25#===================================================================
     26all: $(OBJDIR)\$(TARGET).lib
     27
     28
     29$(LNKFILE): Makefile
     30    @%create $(LNKFILE)
     31    @for %f in ($(FILES)) do @%append $(LNKFILE) -+$(OBJDIR)\%f
     32
     33$(OBJDIR)\$(TARGET).lib: $(LNKFILE) $(FILES)
     34    $(LIB) $(OBJDIR)\$(TARGET).lib @$(LNKFILE)
     35    copy $(OBJDIR)\$(TARGET).lib $(ALSA_LIB)
     36
     37clean: .SYMBOLIC
     38    -@rm *.err
     39    @if exist obj @rm.exe -r obj
     40    @if exist bin @rm.exe -r bin
     41
  • GPL/branches/uniaud32-2.1.x/alsa-kernel/pci/au88x0/Makefile

    r398 r588  
    1 snd-au8810-objs := au8810.o
    2 snd-au8820-objs := au8820.o
    3 snd-au8830-objs := au8830.o
     1!ifndef %ROOT
     2!error ROOT is not defined. Please check your SETENV.CMD.
     3!endif
     4ROOT=$(%ROOT)
    45
    5 obj-$(CONFIG_SND_AU8810) += snd-au8810.o
    6 obj-$(CONFIG_SND_AU8820) += snd-au8820.o
    7 obj-$(CONFIG_SND_AU8830) += snd-au8830.o
     6!include $(ROOT)\tools\header.mif
     7
     8
     9#===================================================================
     10#
     11#   List of source files
     12#
     13#===================================================================
     14# au8810.obj au8810_core.obj au8810_pcm.obj au8810_mixer.obj au8810_mpu401.obj au8810_eq.obj
     15FILES = au8820.obj au8820_core.obj au8820_pcm.obj au8820_mixer.obj au8820_mpu401.obj au8820_synth.obj
     16# au8830.obj au8830_core.obj au8830_pcm.obj au8830_mixer.obj au8830_mpu401.obj au8830_eq.obj au8830_synth.obj
     17
     18TARGET = au88xx
     19
     20LNKFILE = $(OBJDIR)\$(TARGET).lnk
     21
     22
     23#===================================================================
     24#
     25#   Specific dependencies
     26#
     27#===================================================================
     28all: $(OBJDIR)\$(TARGET).lib
     29
     30
     31$(LNKFILE): Makefile
     32    @%create $(LNKFILE)
     33    @for %f in ($(FILES)) do @%append $(LNKFILE) -+$(OBJDIR)\%f
     34
     35$(OBJDIR)\$(TARGET).lib: $(LNKFILE) $(FILES)
     36    $(LIB) $(OBJDIR)\$(TARGET).lib @$(LNKFILE)
     37    copy $(OBJDIR)\$(TARGET).lib $(ALSA_LIB)
     38
     39clean: .SYMBOLIC
     40    -@rm  *.err
     41    @if exist obj @rm.exe -r obj
     42    @if exist bin @rm.exe -r bin
     43
  • GPL/branches/uniaud32-2.1.x/alsa-kernel/pci/ca0106/Makefile

    r398 r588  
    1 snd-ca0106-objs := ca0106_main.o ca0106_proc.o ca0106_mixer.o ca_midi.o
     1!ifndef %ROOT
     2!error ROOT is not defined. Please check your SETENV.CMD.
     3!endif
     4ROOT=$(%ROOT)
    25
    3 obj-$(CONFIG_SND_CA0106) += snd-ca0106.o
     6!include $(ROOT)\tools\header.mif
     7
     8
     9#===================================================================
     10#
     11#   List of source files
     12#
     13#===================================================================
     14FILES = ca0106_main.obj ca0106_proc.obj ca0106_mixer.obj &
     15  ca_midi.obj
     16
     17TARGET = ca0106
     18
     19LNKFILE = $(OBJDIR)\$(TARGET).lnk
     20
     21
     22#===================================================================
     23#
     24#   Specific dependencies
     25#
     26#===================================================================
     27all: $(OBJDIR)\$(TARGET).lib
     28
     29
     30$(LNKFILE): Makefile
     31    @%create $(LNKFILE)
     32    @for %f in ($(FILES)) do @%append $(LNKFILE) -+$(OBJDIR)\%f
     33
     34$(OBJDIR)\$(TARGET).lib: $(LNKFILE) $(FILES)
     35    $(LIB) $(OBJDIR)\$(TARGET).lib @$(LNKFILE)
     36    copy $(OBJDIR)\$(TARGET).lib $(ALSA_LIB)
     37
     38clean: .SYMBOLIC
     39    -@rm *.err
     40    @if exist obj @rm.exe -r obj
     41    @if exist bin @rm.exe -r bin
     42
  • GPL/branches/uniaud32-2.1.x/clean.cmd

    r111 r588  
    88wmake -ms -f makefile.os2 DEBUG=1 clean
    99SET KEE=
    10 del drv32\bin\Release.W4\*
    11 del drv32\bin\Release.kee\*
     10del drv32\bin\Release\*
  • GPL/branches/uniaud32-2.1.x/drv32/dispatch.c

    r543 r588  
    3030#include <devhelp.h>
    3131#include <devtype.h>
    32 #include <devrp.h>
     32#include <strategy.h>
    3333#include "devown.h"
    3434#include <ossidc.h>
     
    3636#include <version.h>
    3737
    38 extern "C" int cdecl printk(const char * fmt, ...);
     38extern int cdecl printk(const char * fmt, ...);
    3939//******************************************************************************
    4040// Dispatch IOCtl requests received from the Strategy routine
    4141//******************************************************************************
    42 extern "C" int GetUniaudCardInfo(ULONG deviceid, void *info);
    43 extern "C" int GetUniaudControlNum(ULONG deviceid);
    44 extern "C" int GetUniaudControls(ULONG deviceid, void *pids);
    45 extern "C" int GetUniaudControlInfo(ULONG deviceid, ULONG id, void *info);
    46 extern "C" int GetUniaudControlValueGet(ULONG deviceid, ULONG id, void *value);
    47 extern "C" int GetUniaudControlValuePut(ULONG deviceid, ULONG id, void *value);
    48 extern "C" int GetNumberOfPcm(int card_id);
    49 extern "C" int GetUniaudPcmCaps(ULONG deviceid, void *caps);
    50 extern "C" int SetPCMInstance(int card_id, int pcm);
    51 extern "C" int WaitForControlChange(int card_id, int timeout);
    52 extern "C" int GetNumberOfCards(void);
    53 extern "C" OSSRET OSS32_WaveOpen(ULONG deviceid, ULONG streamtype, OSSSTREAMID *pStreamId, int pcm, USHORT fileid);
    54 extern "C" OSSRET OSS32_WaveClose(OSSSTREAMID streamid);
    55 extern "C" int UniaudIoctlHWRefine(OSSSTREAMID streamid, void *pHwParams);
    56 extern "C" int UniaudIoctlHWParamSet(OSSSTREAMID streamid, void *pHwParams);
    57 extern "C" int UniaudIoctlSWParamSet(OSSSTREAMID streamid, void *pSwParams);
    58 extern "C" int UniaudIoctlPCMStatus(OSSSTREAMID streamid, void *pstatus);
    59 extern "C" int UniaudIoctlPCMWrite(OSSSTREAMID streamid, char *buf, int size);
    60 extern "C" int UniaudIoctlPCMRead(OSSSTREAMID streamid, char *buf, int size);
    61 extern "C" int UniaudIoctlPCMPrepare(OSSSTREAMID streamid);
    62 extern "C" int UniaudIoctlPCMStart(OSSSTREAMID streamid);
    63 extern "C" int UniaudIoctlPCMDrop(OSSSTREAMID streamid);
    64 extern "C" int UniaudIoctlPCMResume(OSSSTREAMID streamid, int pause);
    65 extern "C" void UniaudCloseAll(USHORT fileid);
    66 extern "C" int WaitForPCMInterrupt(void *file, int timeout);
    67 extern "C" int unlock_all;
    68 extern "C" int OSS32_CloseUNI16(void);
    69 extern "C" int UniaudCtlGetPowerState(ULONG deviceid, void *state);
    70 extern "C" int UniaudCtlSetPowerState(ULONG deviceid, void *state);
     42extern int GetUniaudCardInfo(ULONG deviceid, void *info);
     43extern int GetUniaudControlNum(ULONG deviceid);
     44extern int GetUniaudControls(ULONG deviceid, void *pids);
     45extern int GetUniaudControlInfo(ULONG deviceid, ULONG id, void *info);
     46extern int GetUniaudControlValueGet(ULONG deviceid, ULONG id, void *value);
     47extern int GetUniaudControlValuePut(ULONG deviceid, ULONG id, void *value);
     48extern int GetNumberOfPcm(int card_id);
     49extern int GetUniaudPcmCaps(ULONG deviceid, void *caps);
     50extern int SetPCMInstance(int card_id, int pcm);
     51extern int WaitForControlChange(int card_id, int timeout);
     52extern int GetNumberOfCards(void);
     53extern OSSRET OSS32_WaveOpen(ULONG deviceid, ULONG streamtype, OSSSTREAMID *pStreamId, int pcm, USHORT fileid);
     54extern OSSRET OSS32_WaveClose(OSSSTREAMID streamid);
     55extern int UniaudIoctlHWRefine(OSSSTREAMID streamid, void *pHwParams);
     56extern int UniaudIoctlHWParamSet(OSSSTREAMID streamid, void *pHwParams);
     57extern int UniaudIoctlSWParamSet(OSSSTREAMID streamid, void *pSwParams);
     58extern int UniaudIoctlPCMStatus(OSSSTREAMID streamid, void *pstatus);
     59extern int UniaudIoctlPCMWrite(OSSSTREAMID streamid, char *buf, int size);
     60extern int UniaudIoctlPCMRead(OSSSTREAMID streamid, char *buf, int size);
     61extern int UniaudIoctlPCMPrepare(OSSSTREAMID streamid);
     62extern int UniaudIoctlPCMStart(OSSSTREAMID streamid);
     63extern int UniaudIoctlPCMDrop(OSSSTREAMID streamid);
     64extern int UniaudIoctlPCMResume(OSSSTREAMID streamid, int pause);
     65extern void UniaudCloseAll(USHORT fileid);
     66extern int WaitForPCMInterrupt(void *file, int timeout);
     67extern int unlock_all;
     68extern int OSS32_CloseUNI16(void);
     69extern int UniaudCtlGetPowerState(ULONG deviceid, void *state);
     70extern int UniaudCtlSetPowerState(ULONG deviceid, void *state);
    7171
    7272typedef UCHAR LOCKHANDLE[12];
     
    8585#pragma pack()
    8686
    87 ULONG StratIOCtl(RP __far* _rp)
     87ULONG StratIOCtl(REQPACKET __far* rp)
    8888{
    89     RPIOCtl __far* rp = (RPIOCtl __far*)_rp;
    9089    USHORT rc = 0;;
    9190    LOCKHANDLE lhParm, lhData;
     
    9695    ULONG ctl_id;
    9796
    98     if (rp->Category != CAT_IOCTL_OSS32)
    99     {
    100 //        printk("not our cat %x. func %x\n", rp->Category, rp->Function);
     97    if (rp->ioctl.bCategory != CAT_IOCTL_OSS32)
     98    {
     99        //printk("not our cat %x. func %x\n", rp->Category, rp->Function);
    101100        // not our category, exit with error
    102         return (RPERR_COMMAND | RPDONE);
     101        return (RPERR_BADCOMMAND | RPDONE);
    103102    }
    104103
    105 #ifdef DEBUG
     104    #ifdef DEBUG
    106105    //printk("StratIOCtl 0x%x\n", rp->Function);
    107 #endif
    108 //    printk("cmd: %x, len: %i, pack: %x\n",rp->Function, rp->ParmLength, rp->ParmPacket);
     106    #endif
     107    //    printk("cmd: %x, len: %i, pack: %x\n",rp->Function, rp->ioctl.usParmLen, rp->ParmPacket);
    109108    // work with Parm Packet
    110     if ((rp->ParmLength != 0 ||
    111          rp->Function == IOCTL_OSS32_ATTACH /*16 bit ioctl*/) &&
    112         ((rp->ParmPacket & 0xfffcffff) != 0))
     109    if ((rp->ioctl.usParmLen != 0 ||
     110         rp->ioctl.bFunction == IOCTL_OSS32_ATTACH /*16 bit ioctl*/) &&
     111        ((rp->ioctl.pvParm & 0xfffcffff) != 0))
    113112    {
    114113        // got Parm Packet
    115         rc = DevVirtToLin((USHORT)((ULONG)(rp->ParmPacket) >> 16),
    116                           (ULONG)((USHORT)(rp->ParmPacket)),
     114        rc = DevVirtToLin((USHORT)((ULONG)(rp->ioctl.pvParm) >> 16),
     115                          (ULONG)((USHORT)(rp->ioctl.pvParm)),
    117116                          (UCHAR * __far *)&linParm);
    118117
    119118        if (rc == 0)
    120119        {
    121             if (rp->Function == IOCTL_OSS32_ATTACH)
    122             {
    123                 rc = DevVMLock(VMDHL_LONG,
    124                            (ULONG)linParm,
    125                            4,
    126                            (LINEAR)-1L,
    127                            lhParm,
    128                                (UCHAR*)&pages);
    129             }else
    130             {
    131                 rc = DevVMLock(VMDHL_LONG,
    132                            (ULONG)linParm,
    133                            rp->ParmLength,
    134                            (LINEAR)-1L,
    135                                lhParm,
    136                                (UCHAR*)&pages);
     120            if (rp->ioctl.bFunction == IOCTL_OSS32_ATTACH)
     121            {
     122                rc = DevVMLock(VMDHL_LONG, (ULONG)linParm, 4, (LINEAR)-1L, lhParm, (UCHAR*)&pages);
     123            }
     124            else
     125            {
     126                rc = DevVMLock(VMDHL_LONG, (ULONG)linParm, rp->ioctl.usParmLen, (LINEAR)-1L, lhParm, (UCHAR*)&pages);
    137127            }
    138128
     
    154144
    155145    // work with Data Packet
    156     if ((rp->DataLength != 0) &&
    157         ((rp->DataPacket & 0xfffcffff) != 0))
     146    if ((rp->ioctl.usDataLen != 0) &&
     147        ((rp->ioctl.pvData & 0xfffcffff) != 0))
    158148    {
    159149        // got Data Packet
    160         rc = DevVirtToLin((USHORT)((ULONG)(rp->DataPacket) >> 16),
    161                           (ULONG)((USHORT)(rp->DataPacket)),
     150        rc = DevVirtToLin((USHORT)((ULONG)(rp->ioctl.pvData) >> 16),
     151                          (ULONG)((USHORT)(rp->ioctl.pvData)),
    162152                          (UCHAR * __far *)&linData);
    163153        if (rc == 0)
    164154        {
    165             rc = DevVMLock(VMDHL_LONG,
    166                            (ULONG)linData,
    167                            rp->DataLength,
    168                            (LINEAR)-1L,
    169                            lhData,
     155            rc = DevVMLock(VMDHL_LONG, (ULONG)linData, rp->ioctl.usDataLen, (LINEAR)-1L, lhData,
    170156                           (UCHAR*)&pages);
    171157        } else
     
    193179    rc = RPDONE; // ok by default
    194180
    195     switch(rp->Function)
     181    switch(rp->ioctl.bFunction)
    196182    {
    197183    case IOCTL_OSS32_ATTACH:
     
    199185            card_id = (ULONG) *linParm;
    200186            // Check if audio init was successful
    201             if (OSS32_QueryNames(card_id, NULL, 0,
    202                                  NULL, 0, FALSE) != OSSERR_SUCCESS)
     187            if (OSS32_QueryNames(card_id, NULL, 0, NULL, 0, FALSE) != OSSERR_SUCCESS)
    203188            {
    204189                rc = RPERR_GENERAL | RPDONE;
     
    208193    case IOCTL_OSS32_VERSION:
    209194        {
    210             if (rp->DataLength < sizeof(ULONG))
     195            if (rp->ioctl.usDataLen < sizeof(ULONG))
    211196            {
    212197                // invalid Data Pkt
     
    221206    case IOCTL_OSS32_GET_PCM_NUM:
    222207        {
    223             if (rp->DataLength < sizeof(ULONG))
     208            if (rp->ioctl.usDataLen < sizeof(ULONG))
    224209            {
    225210                // invalid Data Pkt
     
    234219
    235220    case IOCTL_OSS32_CARDS_NUM:
    236         if (rp->DataLength < sizeof(ULONG))
     221        if (rp->ioctl.usDataLen < sizeof(ULONG))
    237222        {
    238223            // invalid Data Pkt
     
    246231    case IOCTL_OSS32_PCM_CAPS:
    247232        {
    248             if (rp->DataLength < sizeof(ULONG))
     233            if (rp->ioctl.usDataLen < sizeof(ULONG))
    249234            {
    250235                // invalid Data Pkt
     
    259244    case IOCTL_OSS32_CARD_INFO:
    260245        {
    261             if (rp->DataLength < sizeof(ULONG))
     246            if (rp->ioctl.usDataLen < sizeof(ULONG))
    262247            {
    263248                // invalid Data Pkt
     
    272257    case IOCTL_OSS32_GET_POWER_STATE:
    273258        {
    274             if (rp->DataLength < sizeof(ULONG))
     259            if (rp->ioctl.usDataLen < sizeof(ULONG))
    275260            {
    276261                // invalid Data Pkt
     
    285270    case IOCTL_OSS32_SET_POWER_STATE:
    286271        {
    287             if (rp->DataLength < sizeof(ULONG))
     272            if (rp->ioctl.usDataLen < sizeof(ULONG))
    288273            {
    289274                // invalid Data Pkt
     
    298283    case IOCTL_OSS32_GET_CNTRLS_NUM:
    299284        {
    300             if (rp->DataLength < sizeof(ULONG))
     285            if (rp->ioctl.usDataLen < sizeof(ULONG))
    301286            {
    302287                // invalid Data Pkt
     
    313298    case IOCTL_OSS32_GET_CNTRLS:
    314299        {
    315             if (rp->DataLength < sizeof(ULONG))
     300            if (rp->ioctl.usDataLen < sizeof(ULONG))
    316301            {
    317302                // invalid Data Pkt
     
    327312        {
    328313
    329             if (rp->DataLength < sizeof(ULONG))
    330             {
    331                 // invalid Data Pkt
    332                 rc = RPERR_PARAMETER | RPDONE;
    333                 break;
    334             }
    335 
    336             if (rp->ParmLength < sizeof(ULONG))
     314            if (rp->ioctl.usDataLen < sizeof(ULONG))
     315            {
     316                // invalid Data Pkt
     317                rc = RPERR_PARAMETER | RPDONE;
     318                break;
     319            }
     320
     321            if (rp->ioctl.usParmLen < sizeof(ULONG))
    337322            {
    338323                // invalid Data Pkt
     
    351336    case IOCTL_OSS32_CNTRL_GET:
    352337        {
    353             if (rp->DataLength < sizeof(ULONG))
    354             {
    355                 // invalid Data Pkt
    356                 rc = RPERR_PARAMETER | RPDONE;
    357                 break;
    358             }
    359 
    360             if (rp->ParmLength < sizeof(ULONG))
     338            if (rp->ioctl.usDataLen < sizeof(ULONG))
     339            {
     340                // invalid Data Pkt
     341                rc = RPERR_PARAMETER | RPDONE;
     342                break;
     343            }
     344
     345            if (rp->ioctl.usParmLen < sizeof(ULONG))
    361346            {
    362347                // invalid Data Pkt
     
    376361        {
    377362
    378             if (rp->DataLength < sizeof(ULONG)) {
    379                 // invalid Data Pkt
    380                 rc = RPERR_PARAMETER | RPDONE;
    381                 break;
    382             }
    383 
    384             if (rp->ParmLength < sizeof(ULONG)) {
     363            if (rp->ioctl.usDataLen < sizeof(ULONG)) {
     364                // invalid Data Pkt
     365                rc = RPERR_PARAMETER | RPDONE;
     366                break;
     367            }
     368
     369            if (rp->ioctl.usParmLen < sizeof(ULONG)) {
    385370                // invalid Data Pkt
    386371                rc = RPERR_PARAMETER | RPDONE;
     
    399384        {
    400385
    401             if (rp->ParmLength < sizeof(ULONG))
     386            if (rp->ioctl.usParmLen < sizeof(ULONG))
    402387            {
    403388                // invalid Data Pkt
     
    414399    case IOCTL_OSS32_CNTRL_WAIT:
    415400        {
    416             if (rp->DataLength < sizeof(ULONG))
     401            if (rp->ioctl.usDataLen < sizeof(ULONG))
    417402            {
    418403                // invalid Data Pkt
     
    430415            ioctl_pcm *pcm = (ioctl_pcm *)linParm;
    431416            // close all pcms from uniaud16 first
    432             pcm->ret = OSS32_WaveOpen(pcm->deviceid, pcm->streamtype, pData,  pcm->pcm, rp->FileID);
     417            pcm->ret = OSS32_WaveOpen(pcm->deviceid, pcm->streamtype, pData,  pcm->pcm, rp->ioctl.usSysFileNum);
    433418        }
    434419        break;
     
    536521    default:
    537522        {
    538             printk("invalid function code %i\n",rp->Function);
     523            printk("invalid function code %i\n",rp->ioctl.bFunction);
    539524            // invalid function code
    540525            rc = RPERR_PARAMETER | RPDONE;
     
    561546// Dispatch Close requests received from the strategy routine
    562547//******************************************************************************
    563 ULONG StratClose(RP __far* _rp)
     548ULONG StratClose(REQPACKET __far* rp)
    564549{
    565   RPOpenClose __far* rp = (RPOpenClose __far*)_rp;
    566 
    567550  // only called if device successfully opened
    568 //  printk("strat close\n");
     551  //  printk("strat close\n");
    569552  numOS2Opens--;
    570553
    571   UniaudCloseAll(rp->FileID);
     554  UniaudCloseAll(rp->open_close.usSysFileNum);
    572555
    573556  if (numOS2Opens == 0) {
    574         deviceOwner = DEV_NO_OWNER;
     557          deviceOwner = DEV_NO_OWNER;
    575558  }
    576559  return(RPDONE);
    577560}
    578 //******************************************************************************
    579 //******************************************************************************
     561
  • GPL/branches/uniaud32-2.1.x/drv32/idc.c

    r550 r588  
    2323 */
    2424
    25 extern "C" {               // 16-bit header files are not C++ aware
     25//DAZ extern "C" {               // 16-bit header files are not C++ aware
    2626#define INCL_NOPMAPI
    2727#define INCL_DOSINFOSEG
    2828#include <os2.h>
    29 }
     29//DAZ }
    3030#include <devtype.h>
    3131#include <devhelp.h>
    32 #include <strategy.h>
     32//#include <strategy.h>
    3333#include <ossidc32.h>
    3434#include <irqos2.h>
     
    3838//16:32 address of 16 bits pdd idc handler
    3939IDC16_HANDLER idc16_PddHandler = 0;
    40 extern "C" int pcm_device;
     40extern int pcm_device;
    4141WORD32 OSS32IDC(ULONG cmd, PIDC32_PACKET pPacket);
    42 extern "C" BOOL fRewired; //pci.c
     42extern BOOL fRewired; //pci.c
    4343
    4444//packet pointer must reference a structure on the stack
    4545
    46 OSSRET AlsaIDC(ULONG cmd, ULONG packet);
    4746#pragma aux AlsaIDC "ALSA_IDC" parm reverse [ecx edx]
    4847OSSRET AlsaIDC(ULONG cmd, ULONG packet)
  • GPL/branches/uniaud32-2.1.x/drv32/init.c

    r571 r588  
    3131#include <devhelp.h>
    3232#include <devtype.h>
    33 #include <devrp.h>
     33//DAZ #include <devrp.h>
     34#include <strategy.h>
    3435#include "devown.h"
    3536#include <version.h>
     
    5556
    5657//const char szCopyRight1[]= "Copyright 2000-2002 InnoTek Systemberatung GmbH\r\n";
    57 const char szCopyRight2[]= "Copyright 2000-2012 The ALSA Project\r\n\r\n";
    58 const char szCopyRight3[]= "Copyright 2005-2012 Netlabs http://www.netlabs.org\r\n";
     58const char szCopyRight2[]= "Copyright 2000-2010 The ALSA Project\r\n\r\n";
     59const char szCopyRight3[]= "Copyright 2005-2010 Netlabs http://www.netlabs.org\r\n";
    5960
    6061const char szCodeStartEnd[] = "Code 0x%0x - 0x%0x\r\n\r\n";
     
    6768} MSG_TABLE;
    6869
    69 extern "C" FARPTR16 MSG_TABLE32;
    70 extern "C" char szLastALSAError1[];
    71 extern "C" char szLastALSAError2[];
    72 extern "C" int sprintf (char *buffer, const char *format, ...);
    73 
    74 extern "C" APIRET APIENTRY DOS16OPEN(PSZ pszFileName, PHFILE phf, PULONG pulAction, ULONG cbFile, ULONG ulAttribute, ULONG fsOpenFlags, ULONG fsOpenMode, PEAOP2 peaop2 );
    75 extern "C" APIRET APIENTRY DOS16CLOSE(HFILE hFile);
    76 extern "C" APIRET APIENTRY DOS16WRITE(HFILE hFile, PVOID pBuffer, ULONG cbWrite, PULONG pcbActual);
    77 extern "C" void SaveBuffer(void);
     70extern FARPTR16 MSG_TABLE32;
     71extern char szLastALSAError1[];
     72extern char szLastALSAError2[];
     73extern int sprintf (char *buffer, const char *format, ...);
     74
     75extern APIRET APIENTRY DOS16OPEN(PSZ pszFileName, PHFILE phf, PULONG pulAction, ULONG cbFile, ULONG ulAttribute, ULONG fsOpenFlags, ULONG fsOpenMode, PEAOP2 peaop2 );
     76extern APIRET APIENTRY DOS16CLOSE(HFILE hFile);
     77extern APIRET APIENTRY DOS16WRITE(HFILE hFile, PVOID pBuffer, ULONG cbWrite, PULONG pcbActual);
     78extern void SaveBuffer(void);
    7879
    7980#define VMDHA_FIXED             0x0002
    8081
    81 extern "C" APIRET VMAlloc(ULONG size, ULONG flags, char NEAR* *pAddr);
     82extern APIRET VMAlloc(ULONG size, ULONG flags, char NEAR* *pAddr);
    8283
    8384//Print messages with DosWrite when init is done or has failed (see startup.asm)
     
    8990
    9091  for(i=0;i<length;i++) {
    91         str16[msg->MsgLength + i] = str[i];
     92  str16[msg->MsgLength + i] = str[i];
    9293  }
    9394  str16[msg->MsgLength + length] = 0;
     
    116117    segsize = OffsetFinalDS32 - ((OffsetBeginDS32) & ~0xFFF);
    117118    if(segsize & 0xFFF) {
    118             segsize += PAGE_SIZE;
     119      segsize += PAGE_SIZE;
    119120    }
    120121    segsize &= ~0xFFF;
     
    134135                   (LINEAR)&PgCount)) {
    135136#endif
    136             return(1);
     137      return(1);
    137138    }
    138139    /*
     
    141142    segsize = OffsetFinalCS32 - ((OffsetBeginCS32) & ~0xFFF);
    142143    if(segsize & 0xFFF) {
    143             segsize += PAGE_SIZE;
     144      segsize += PAGE_SIZE;
    144145    }
    145146    segsize &= ~0xFFF;
     
    159160                 (LINEAR)&PgCount)) {
    160161#endif
    161             return(1);
     162      return(1);
    162163    }
    163164    return 0;
     
    195196#endif
    196197// Initialize device driver
    197 WORD32 DiscardableInit(RPInit __far* rp)
    198 {
    199     char        debugmsg[64];
    200     char FAR48 *args;
    201 
    202 #ifdef KEE
    203     GetTKSSBase();
    204 #endif
    205 
    206     if(LockSegments()) {
    207         WriteString(ERR_ERROR, sizeof(ERR_ERROR)-1);
    208         WriteString(ERR_LOCK, sizeof(ERR_LOCK)-1);
    209         return RPDONE | RPERR_COMMAND;
    210     }
    211 
    212         DebugLevel = 1;
    213     rp->Out.FinalCS = 0;
    214     rp->Out.FinalDS = 0;
    215 
    216         if ( szprintBuf == 0 ) {
    217                 VMAlloc( DBG_MAX_BUF_SIZE, VMDHA_FIXED, &szprintBuf );
    218                 if (szprintBuf) {
    219                         memset( szprintBuf, 0, DBG_MAX_BUF_SIZE );
    220                         wrOffset= 0;
    221                 }
    222         }
    223         if (!HeapInit(HEAP_SIZE)) {
    224                 rprintf(("HeapInit failed!"));
    225         }
    226 
    227     args = MAKE_FARPTR32(rp->In.Args);
    228     GetParms(args);
    229 
    230 #ifdef DEBUG
    231         rprintf(("Uniaud32 version %s-DEBUG",UNIAUD_VERSION));
    232 #else
    233         rprintf(("Uniaud32 version %s",UNIAUD_VERSION));
    234 #endif
    235 
    236     if(fVerbose) {
    237         WriteString(szALSA, sizeof(szALSA)-1);
    238         WriteString(szCopyRight3, sizeof(szCopyRight3)-1);
    239         WriteString(szCopyRight2, sizeof(szCopyRight2)-1);
    240     }
    241 
    242 
    243     if(fDebug) {
    244         sprintf(debugmsg, szCodeStartEnd, OffsetBeginCS32, OffsetFinalCS32);
    245         WriteString(debugmsg, strlen(debugmsg));
    246     }
    247 
    248     //get the current time (to force retrieval of GIS pointer)
    249     os2gettimemsec();
    250 
    251     char szMixerName[64];
    252     char szDeviceName[128];
    253 
    254     if(OSS32_Initialize() != OSSERR_SUCCESS)
    255     {
    256         WriteString(ERR_ERROR, sizeof(ERR_ERROR)-1);
    257         WriteString(ERR_INIT, sizeof(ERR_INIT)-1);
    258         if(szLastALSAError1[0]) {
    259             WriteString(szLastALSAError1, strlen(szLastALSAError1));
    260         }
    261         if(szLastALSAError2[0]) {
    262             WriteString(szLastALSAError2, strlen(szLastALSAError2));
    263         }
    264         // !! dont exit when error !! return RPDONE | RPERR_COMMAND;
    265     } else if (OSS32_QueryNames(OSS32_DEFAULT_DEVICE, szDeviceName,
    266                                 sizeof(szDeviceName),szMixerName,
    267                                 sizeof(szMixerName), TRUE) != OSSERR_SUCCESS)
    268     {
    269         WriteString(ERR_ERROR, sizeof(ERR_ERROR)-1);
    270         WriteString(ERR_NAMES, sizeof(ERR_INIT)-1);
    271         if(szLastALSAError1[0]) {
    272             WriteString(szLastALSAError1, strlen(szLastALSAError1));
    273         }
    274         if(szLastALSAError2[0]) {
    275             WriteString(szLastALSAError2, strlen(szLastALSAError2));
    276         }
    277 
    278         // !! dont exit when error !! return RPDONE | RPERR_COMMAND;
    279     }
    280     else
    281     if(fVerbose) {
     198WORD32 DiscardableInit(REQPACKET __far* rp)
     199{
     200  char debugmsg[64];
     201  char FAR48 *args;
     202
     203#ifdef KEE
     204  GetTKSSBase();
     205#endif
     206
     207  if(LockSegments())
     208  {
     209    WriteString(ERR_ERROR, sizeof(ERR_ERROR)-1);
     210    WriteString(ERR_LOCK, sizeof(ERR_LOCK)-1);
     211    return RPDONE | RPERR_BADCOMMAND;
     212  }
     213
     214  DebugLevel = 1;
     215  rp->init_out.usCodeEnd = 0;
     216  rp->init_out.usDataEnd = 0;
     217
     218  if ( szprintBuf == 0 )
     219  {
     220    VMAlloc( DBG_MAX_BUF_SIZE, VMDHA_FIXED, &szprintBuf );
     221    if (szprintBuf)
     222    {
     223      memset( szprintBuf, 0, DBG_MAX_BUF_SIZE );
     224      wrOffset= 0;
     225    }
     226  }
     227  if (!HeapInit(HEAP_SIZE))
     228  {
     229    rprintf(("HeapInit failed!"));
     230  }
     231
     232  args = MAKE_FARPTR32(rp->init_in.szArgs);
     233  GetParms(args);
     234
     235  #ifdef DEBUG
     236  rprintf(("Uniaud32 version %s-DEBUG",UNIAUD_VERSION));
     237  #else
     238  rprintf(("Uniaud32 version %s",UNIAUD_VERSION));
     239  #endif
     240
     241  if(fVerbose)
     242  {
     243    WriteString(szALSA, sizeof(szALSA)-1);
     244    WriteString(szCopyRight3, sizeof(szCopyRight3)-1);
     245    WriteString(szCopyRight2, sizeof(szCopyRight2)-1);
     246  }
     247
     248  if(fDebug)
     249  {
     250    sprintf(debugmsg, szCodeStartEnd, OffsetBeginCS32, OffsetFinalCS32);
     251    WriteString(debugmsg, strlen(debugmsg));
     252  }
     253
     254  //get the current time (to force retrieval of GIS pointer)
     255  os2gettimemsec();
     256
     257  char szMixerName[64];
     258  char szDeviceName[128];
     259
     260  if(OSS32_Initialize() != OSSERR_SUCCESS)
     261  {
     262    WriteString(ERR_ERROR, sizeof(ERR_ERROR)-1);
     263    WriteString(ERR_INIT, sizeof(ERR_INIT)-1);
     264      if(szLastALSAError1[0])
     265      {
     266        WriteString(szLastALSAError1, strlen(szLastALSAError1));
     267      }
     268      if(szLastALSAError2[0])
     269      {
     270        WriteString(szLastALSAError2, strlen(szLastALSAError2));
     271      }
     272    // !! dont exit when error !! return RPDONE | RPERR_COMMAND;
     273  }
     274  else if (OSS32_QueryNames(OSS32_DEFAULT_DEVICE, szDeviceName,
     275                              sizeof(szDeviceName),szMixerName,
     276                              sizeof(szMixerName), TRUE) != OSSERR_SUCCESS)
     277  {
     278    WriteString(ERR_ERROR, sizeof(ERR_ERROR)-1);
     279    WriteString(ERR_NAMES, sizeof(ERR_INIT)-1);
     280    if(szLastALSAError1[0])
     281    {
     282      WriteString(szLastALSAError1, strlen(szLastALSAError1));
     283    }
     284    if(szLastALSAError2[0])
     285    {
     286      WriteString(szLastALSAError2, strlen(szLastALSAError2));
     287    }
     288
     289    // !! dont exit when error !! return RPDONE | RPERR_COMMAND;
     290  }
     291  else
     292  if(fVerbose)
     293  {
     294    WriteString(szDeviceName, strlen(szDeviceName));
     295    WriteString(szEOL, sizeof(szEOL)-1);
     296    WriteString(szMixerFound, sizeof(szMixerFound)-1);
     297    WriteString(szMixerName, strlen(szMixerName));
     298    WriteString(szEOL, sizeof(szEOL)-1);
     299
     300    #if 0
     301    for(int i=1;i<OSS32_MAX_AUDIOCARDS;i++)
     302    {
     303      if(OSS32_QueryNames(i, szDeviceName, sizeof(szDeviceName), szMixerName, sizeof(szMixerName)) == OSSERR_SUCCESS)
     304      {
    282305        WriteString(szDeviceName, strlen(szDeviceName));
    283306        WriteString(szEOL, sizeof(szEOL)-1);
     
    285308        WriteString(szMixerName, strlen(szMixerName));
    286309        WriteString(szEOL, sizeof(szEOL)-1);
    287 
    288 #if 0
    289         for(int i=1;i<OSS32_MAX_AUDIOCARDS;i++) {
    290             if(OSS32_QueryNames(i, szDeviceName, sizeof(szDeviceName), szMixerName, sizeof(szMixerName)) == OSSERR_SUCCESS)
    291             {
    292                 WriteString(szDeviceName, strlen(szDeviceName));
    293                 WriteString(szEOL, sizeof(szEOL)-1);
    294                 WriteString(szMixerFound, sizeof(szMixerFound)-1);
    295                 WriteString(szMixerName, strlen(szMixerName));
    296                 WriteString(szEOL, sizeof(szEOL)-1);
    297             }
    298             else break;
    299         }
    300 #endif
    301         WriteString(szEOL, sizeof(szEOL)-1);
    302     }
    303     // Complete the installation
    304     rp->Out.FinalCS = _OffsetFinalCS16;
    305     rp->Out.FinalDS = _OffsetFinalDS16;
    306 
    307         //SaveBuffer();
    308 
    309     // Confirm a successful installation
    310     return RPDONE;
    311 }
    312 
     310      }
     311      else break;
     312    }
     313    #endif
     314    WriteString(szEOL, sizeof(szEOL)-1);
     315  }
     316  // Complete the installation
     317  rp->init_out.usCodeEnd = _OffsetFinalCS16;
     318  rp->init_out.usDataEnd = _OffsetFinalDS16;
     319
     320  //SaveBuffer();
     321
     322  // Confirm a successful installation
     323  return RPDONE;
     324}
     325
  • GPL/branches/uniaud32-2.1.x/drv32/irq.c

    r587 r588  
    4646};
    4747
    48 extern "C" DBGINT DbgInt;
     48extern DBGINT DbgInt;
    4949
    5050//******************************************************************************
     
    8080    return TRUE;
    8181}
    82 //******************************************************************************
     82
    8383//******************************************************************************
    8484BOOL ALSA_FreeIrq(ULONG ulIrq)
     
    8686    return (DevIRQClear((WORD16)ulIrq) == 0);
    8787}
     88
    8889//******************************************************************************
    89 //******************************************************************************
    90 ULONG ALSA_Interrupt(ULONG ulSlotNo);
    9190#pragma aux ALSA_Interrupt "ALSA_Interrupt" parm [ebx]
    9291ULONG ALSA_Interrupt(ULONG ulSlotNo)
     
    113112   return FALSE;
    114113}
    115 //******************************************************************************
    116 //******************************************************************************
     114
  • GPL/branches/uniaud32-2.1.x/drv32/irq.h

    r63 r588  
    2525#define __IRQ_H__
    2626
    27 extern "C" FARPTR16 ISR00;
    28 extern "C" FARPTR16 ISR01;
    29 extern "C" FARPTR16 ISR02;
    30 extern "C" FARPTR16 ISR03;
    31 extern "C" FARPTR16 ISR04;
    32 extern "C" FARPTR16 ISR05;
    33 extern "C" FARPTR16 ISR06;
    34 extern "C" FARPTR16 ISR07;
     27extern FARPTR16 ISR00;
     28extern FARPTR16 ISR01;
     29extern FARPTR16 ISR02;
     30extern FARPTR16 ISR03;
     31extern FARPTR16 ISR04;
     32extern FARPTR16 ISR05;
     33extern FARPTR16 ISR06;
     34extern FARPTR16 ISR07;
    3535
    3636#endif //__IRQ_H__
  • GPL/branches/uniaud32-2.1.x/drv32/parse.c

    r504 r588  
    3434#include <devhelp.h>
    3535#include <devtype.h>
    36 #include <devrp.h>
    3736#include <unicard.h>
    3837#include "parse.h"         // NUM_DEVICES
     
    4645int ForceCard = CARD_NONE;
    4746
    48 extern "C" short int midi_port;
     47extern short int midi_port;
    4948
    5049#ifdef COMM_DEBUG
    51 extern "C" short int MAGIC_COMM_PORT;
     50extern short int MAGIC_COMM_PORT;
    5251#endif
    5352
  • GPL/branches/uniaud32-2.1.x/drv32/read.c

    r587 r588  
    22#include <os2.h>
    33#include <devhelp.h>
    4 #include <devrp.h>
     4#include <strategy.h>
    55#include <dbgos2.h>
    66#include <string.h> // memcpy
    7 
    8 extern "C" {
    97
    108int   rdOffset= 0;
     
    1513void iounmap(void *addr);
    1614
    17 }
    18 
    19 ULONG StratRead(RP __far* _rp)
     15ULONG StratRead(REQPACKET __far* rp)
    2016{
    21   RPRWV __far* rp = (RPRWV __far*)_rp;
    22 
    2317  char *lin;
    24   int   transferCount= rp->Count;
     18  int   transferCount= rp->io.usCount;
    2519
    2620  if( szprintBuf )
    2721  {
    28     lin= (char *)__ioremap( rp->Transfer, transferCount, 0 );
     22    lin= (char *)__ioremap( rp->io.ulAddress, transferCount, 0 );
    2923    if( lin )
    3024    {
     
    4135        transferCount= diffCount;
    4236
    43       rp->Count= transferCount;
     37      rp->io.usCount= transferCount;
    4438      if( (rdOffset + transferCount) > DBG_MAX_BUF_SIZE )
    4539      {
     
    6256  } else
    6357  {
    64     rp->Count= 0;
     58    rp->io.usCount= 0;
    6559    return RPDONE;
    6660  }
  • GPL/branches/uniaud32-2.1.x/drv32/rmhelp.c

    r587 r588  
    2929#include <string.h>
    3030
    31 
    3231#define MAX_RESHANDLES  16
    3332
    3433//******************************************************************************
    35 //******************************************************************************
    36 
    37 PFN                     RM_Help;
    38 PFN                     RM_Help0;
    39 PFN                     RM_Help3;
    40 ULONG                   RMFlags;
     34
     35//extern PFN                    RM_Help;
     36//extern PFN                    RM_Help0;
     37//extern PFN                    RM_Help3;
     38//extern ULONG                  RMFlags;
    4139
    4240static HDRIVER DriverHandle = (HDRIVER)-1;
     
    4644static HRESOURCE arResHandles[MAX_RESHANDLES];
    4745
    48 
    49 //******************************************************************************
    5046//******************************************************************************
    5147VOID RMInit(VOID)
     
    7874     DriverStruct.DrvrType     = DRT_AUDIO;
    7975     DriverStruct.DrvrSubType  = 0;
    80      DriverStruct.DrvrCallback = NULL;
     76     DriverStruct.DrvrCallback = 0;
    8177
    8278     rc = RMCreateDriver( FlatToSel((ULONG)&DriverStruct), FlatToSel((ULONG)&hDriver) );
     
    306302      AdapterStruct.HostBusType       = AS_HOSTBUS_PCI;           // HostBusType        /* ### IHV */
    307303      AdapterStruct.HostBusWidth      = AS_BUSWIDTH_32BIT;        // HostBusWidth       /* ### IHV */
    308       AdapterStruct.pAdjunctList      = NULL;                     // pAdjunctList       /* ### IHV */
     304      AdapterStruct.pAdjunctList      = 0;                        // pAdjunctList       /* ### IHV */
    309305
    310306      //--- Register adapter.  We'll record any error code, but won't fail
     
    314310                           FlatToSel((ULONG)&hAdapter),         // (OUT) Handle to adapter
    315311                           FlatToSel((ULONG)&AdapterStruct),    // Adapter structure
    316                            NULL,                                // Parent device (defaults OK)
    317                            NULL);                               // Allocated resources.
     312                           0,                           // Parent device (defaults OK)
     313                           0);                          // Allocated resources.
    318314
    319315      dprintf(("RMCreateAdapter rc=%d", rc));
     
    330326                DeviceStruct.DevFlags        = DS_FIXED_LOGICALNAME;
    331327                DeviceStruct.DevType         = DS_TYPE_AUDIO;
    332                 DeviceStruct.pAdjunctList    = NULL;
     328                DeviceStruct.pAdjunctList    = 0;
    333329
    334330                rc = RMCreateDevice(DriverHandle,                       // Handle to driver
  • GPL/branches/uniaud32-2.1.x/drv32/strategy.c

    r550 r588  
    55 * (C) 2000-2002 InnoTek Systemberatung GmbH
    66 * (C) 2000-2001 Sander van Leeuwen (sandervl@xs4all.nl)
     7 * Copyright (c) 2013-2015 David Azarewicz david@88watts.net
    78 *
    89 * This program is free software; you can redistribute it and/or
     
    2425
    2526#define INCL_NOPMAPI
    26 #define INCL_DOSINFOSEG         // Need Global info seg in rm.cpp algorithms
     27#define INCL_DOSINFOSEG   // Need Global info seg in rm.cpp algorithms
    2728#include <os2.h>
    2829
    2930#include <devhelp.h>
    30 #include <devrp.h>
     31//DAZ #include <devrp.h>
    3132#include <devown.h>
    3233#include "strategy.h"
     
    3536#include <string.h>
    3637
    37 ULONG StratRead(RP __far *_rp);
    38 ULONG StratIOCtl(RP __far *_rp);
    39 ULONG StratClose(RP __far *_rp);
     38ULONG StratRead(REQPACKET __far *_rp);
     39ULONG StratIOCtl(REQPACKET __far *_rp);
     40ULONG StratClose(REQPACKET __far *_rp);
    4041
    41 ULONG DiscardableInit(RPInit __far*);
     42ULONG DiscardableInit(REQPACKET __far*);
    4243ULONG deviceOwner = DEV_NO_OWNER;
    4344ULONG numOS2Opens = 0;
    44 extern "C" BOOL fRewired; //pci.c
     45extern BOOL fRewired; //pci.c
    4546
    46 extern "C" DBGINT DbgInt;
     47extern DBGINT DbgInt;
    4748
    4849//******************************************************************************
     50ULONG StratOpen(REQPACKET __far* rp)
     51{
     52  if (numOS2Opens == 0)
     53  {
     54    deviceOwner = DEV_PDD_OWNER;
     55  }
     56  numOS2Opens++;
     57  return RPDONE;
     58}
     59
    4960//******************************************************************************
    50 ULONG StratOpen(RP __far*)
    51 {
    52         if (numOS2Opens == 0) {
    53                 deviceOwner = DEV_PDD_OWNER;
    54         }
    55         numOS2Opens++;
    56                 return RPDONE;
    57 }
    58 //******************************************************************************
    59 //******************************************************************************
    60 #pragma off (unreferenced)
    61 static ULONG StratWrite(RP __far* _rp)
    62 #pragma on (unreferenced)
     61//DAZ #pragma off (unreferenced)
     62static ULONG StratWrite(REQPACKET __far* rp)
     63//DAZ #pragma on (unreferenced)
    6364{
    6465  return RPDONE | RPERR;
    6566}
     67
    6668//******************************************************************************
    6769// External initialization entry-point
    6870//******************************************************************************
    69 ULONG StratInit(RP __far* _rp)
     71ULONG StratInit(REQPACKET __far* rp)
    7072{
    71         ULONG rc;
     73  ULONG rc;
    7274
    73         memset(&DbgInt, 0, sizeof(DbgInt));
    74         DbgPrintIrq();
     75  memset(&DbgInt, 0, sizeof(DbgInt));
     76  DbgPrintIrq();
    7577
    76         RPInit __far* rp = (RPInit __far*)_rp;
    77         rc = DiscardableInit(rp);
    78         //dprintf(("StratInit End rc=%d", rc));
    79         DbgPrintIrq();
    80         DbgInt.ulState = 1;
    81         return rc;
     78  //DAZ RPInit __far* rp = (RPInit __far*)_rp;
     79  rc = DiscardableInit(rp);
     80  //dprintf(("StratInit End rc=%d", rc));
     81  DbgPrintIrq();
     82  DbgInt.ulState = 1;
     83  return rc;
    8284}
     85
    8386//******************************************************************************
    8487// External initialization complete entry-point
    85 #ifdef ACPI
    86 #include "irqos2.h"
    87 #endif //ACPI
    8888//******************************************************************************
    89 #pragma off (unreferenced)
    90 ULONG StratInitComplete(RP __far* _rp)
    91 #pragma on (unreferenced)
     89//DAZ #pragma off (unreferenced)
     90ULONG StratInitComplete(REQPACKET __far* rp)
     91//DAZ #pragma on (unreferenced)
    9292{
    93         DbgInt.ulState = 2;
    94 #ifdef ACPI
    95         PciAdjustInterrupts();
    96 #endif
    97         DbgPrintIrq();
    98         //dprintf(("StratInitComplete"));
    99         return(RPDONE);
     93  DbgInt.ulState = 2;
     94  DbgPrintIrq();
     95  //dprintf(("StratInitComplete"));
     96  return(RPDONE);
    10097}
     98
    10199//******************************************************************************
    102 //******************************************************************************
    103 #pragma off (unreferenced)
    104 ULONG StratShutdown(RP __far *_rp)
    105 #pragma on (unreferenced)
     100//DAZ #pragma off (unreferenced)
     101ULONG StratShutdown(REQPACKET __far *rp)
     102//DAZ #pragma on (unreferenced)
    106103{
    107         RPShutdown __far *rp = (RPShutdown __far *)_rp;
     104  //DAZ RPShutdown __far *rp = (RPShutdown __far *)_rp;
    108105
    109         //dprintf(("StratShutdown %d", rp->Function));
    110         if(rp->Function == 1) {//end of shutdown
    111                 OSS32_Shutdown();
    112         }
    113         return(RPDONE);
     106  //dprintf(("StratShutdown %d", rp->Function));
     107  if(rp->shutdown.Function == 1) //end of shutdown
     108  {
     109    OSS32_Shutdown();
     110  }
     111  return(RPDONE);
    114112}
    115 //******************************************************************************
     113
    116114//******************************************************************************
    117115// Handle unsupported requests
    118 static ULONG StratError(RP __far*)
     116static ULONG StratError(REQPACKET __far* rp)
    119117{
    120   return RPERR_COMMAND | RPDONE;
     118  return RPERR_BADCOMMAND | RPDONE;
    121119}
     120
    122121//******************************************************************************
    123122// Strategy dispatch table
     
    125124// This table is used by the strategy routine to dispatch strategy requests
    126125//******************************************************************************
    127 typedef ULONG (*RPHandler)(RP __far* rp);
     126typedef ULONG (*RPHandler)(REQPACKET __far* rp);
    128127RPHandler StratDispatch[] =
    129128{
    130   StratInit,                              // 00 (BC): Initialization
    131   StratError,                             // 01 (B ): Media check
    132   StratError,                             // 02 (B ): Build BIOS parameter block
    133   StratError,                             // 03 (  ): Unused
    134   StratRead,                              // 04 (BC): Read
    135   StratError,                             // 05 ( C): Nondestructive read with no wait
    136   StratError,                             // 06 ( C): Input status
    137   StratError,                             // 07 ( C): Input flush
    138   StratWrite,                             // 08 (BC): Write
    139   StratError,                             // 09 (BC): Write verify
    140   StratError,                             // 0A ( C): Output status
    141   StratError,                             // 0B ( C): Output flush
    142   StratError,                             // 0C (  ): Unused
    143   StratOpen,                              // 0D (BC): Open
    144   StratClose,                             // 0E (BC): Close
    145   StratError,                             // 0F (B ): Removable media check
    146   StratIOCtl,                             // 10 (BC): IO Control
    147   StratError,                             // 11 (B ): Reset media
    148   StratError,                             // 12 (B ): Get logical unit
    149   StratError,                             // 13 (B ): Set logical unit
    150   StratError,                             // 14 ( C): Deinstall character device driver
    151   StratError,                             // 15 (  ): Unused
    152   StratError,                             // 16 (B ): Count partitionable fixed disks
    153   StratError,                             // 17 (B ): Get logical unit mapping of fixed disk
    154   StratError,                             // 18 (  ): Unused
    155   StratError,                             // 19 (  ): Unused
    156   StratError,                             // 1A (  ): Unused
    157   StratError,                             // 1B (  ): Unused
    158   StratShutdown,                          // 1C (BC): Notify start or end of system shutdown
    159   StratError,                             // 1D (B ): Get driver capabilities
    160   StratError,                             // 1E (  ): Unused
    161   StratInitComplete               // 1F (BC): Notify end of initialization
     129  StratInit,          // 00 (BC): Initialization
     130  StratError,         // 01 (B ): Media check
     131  StratError,         // 02 (B ): Build BIOS parameter block
     132  StratError,         // 03 (  ): Unused
     133  StratRead,          // 04 (BC): Read
     134  StratError,         // 05 ( C): Nondestructive read with no wait
     135  StratError,         // 06 ( C): Input status
     136  StratError,         // 07 ( C): Input flush
     137  StratWrite,         // 08 (BC): Write
     138  StratError,         // 09 (BC): Write verify
     139  StratError,         // 0A ( C): Output status
     140  StratError,         // 0B ( C): Output flush
     141  StratError,         // 0C (  ): Unused
     142  StratOpen,          // 0D (BC): Open
     143  StratClose,         // 0E (BC): Close
     144  StratError,         // 0F (B ): Removable media check
     145  StratIOCtl,         // 10 (BC): IO Control
     146  StratError,         // 11 (B ): Reset media
     147  StratError,         // 12 (B ): Get logical unit
     148  StratError,         // 13 (B ): Set logical unit
     149  StratError,         // 14 ( C): Deinstall character device driver
     150  StratError,         // 15 (  ): Unused
     151  StratError,         // 16 (B ): Count partitionable fixed disks
     152  StratError,         // 17 (B ): Get logical unit mapping of fixed disk
     153  StratError,         // 18 (  ): Unused
     154  StratError,         // 19 (  ): Unused
     155  StratError,         // 1A (  ): Unused
     156  StratError,         // 1B (  ): Unused
     157  StratShutdown,        // 1C (BC): Notify start or end of system shutdown
     158  StratError,         // 1D (B ): Get driver capabilities
     159  StratError,         // 1E (  ): Unused
     160  StratInitComplete       // 1F (BC): Notify end of initialization
    162161};
     162
    163163//******************************************************************************
    164164// Strategy entry point
     
    167167// calling convention, which fetches arguments from the correct registers.
    168168//******************************************************************************
    169 ULONG Strategy(RP __far* rp);
    170169#pragma aux (STRATEGY) Strategy "ALSA_STRATEGY";
    171 ULONG Strategy(RP __far* rp)
     170ULONG Strategy(REQPACKET __far* rp)
    172171{
    173         if (fRewired) {
    174                 fRewired = FALSE;
    175                 rprintf(("Strategy: Resuming"));
    176                 OSS32_APMResume();
    177                 DbgPrintIrq();
    178         }
     172  if (fRewired)
     173  {
     174    fRewired = FALSE;
     175    rprintf(("Strategy: Resuming"));
     176    OSS32_APMResume();
     177    DbgPrintIrq();
     178  }
    179179
    180         if (rp->Command < sizeof(StratDispatch)/sizeof(StratDispatch[0]))
    181                 return(StratDispatch[rp->Command](rp));
    182         else return(RPERR_COMMAND | RPDONE);
     180  if (rp->bCommand < sizeof(StratDispatch)/sizeof(StratDispatch[0])) return(StratDispatch[rp->bCommand](rp));
     181  else return(RPERR_BADCOMMAND | RPDONE);
    183182}
    184 //******************************************************************************
    185 //******************************************************************************
     183
  • GPL/branches/uniaud32-2.1.x/drv32/util.c

    r587 r588  
    3535//*****************************************************************************
    3636//*****************************************************************************
    37 extern "C" void __wcpp_2_undefed_cdtor_(void)
     37extern void __wcpp_2_undefed_cdtor_(void)
    3838{
    3939   int3();
     
    4141//*****************************************************************************
    4242//*****************************************************************************
    43 extern "C" void __wcpp_2_undefined_member_function_(void)
     43extern void __wcpp_2_undefined_member_function_(void)
    4444{
    4545   int3();
     
    4747//*****************************************************************************
    4848//*****************************************************************************
    49 extern "C" void __wcpp_2_pure_error_(void)
     49extern void __wcpp_2_pure_error_(void)
    5050{
    5151   int3();
     
    5353//*****************************************************************************
    5454//*****************************************************************************
    55 extern "C" void __wcpp_2_undef_vfun_(void)
     55extern void __wcpp_2_undef_vfun_(void)
    5656{
    5757   int3();
     
    5959//*****************************************************************************
    6060//*****************************************************************************
    61 extern "C" void __wcpp_4_undefed_cdtor_(void)
     61extern void __wcpp_4_undefed_cdtor_(void)
    6262{
    6363   int3();
     
    6565//*****************************************************************************
    6666//*****************************************************************************
    67 extern "C" void __wcpp_4_undefined_member_function_(void)
     67extern void __wcpp_4_undefined_member_function_(void)
    6868{
    6969   int3();
     
    7171//*****************************************************************************
    7272//*****************************************************************************
    73 extern "C" void __wcpp_4_pure_error_(void)
     73extern void __wcpp_4_pure_error_(void)
    7474{
    7575   int3();
     
    7777//*****************************************************************************
    7878//*****************************************************************************
    79 extern "C" void __wcpp_4_undef_vfun_(void)
     79extern void __wcpp_4_undef_vfun_(void)
    8080{
    8181   int3();
    8282}
     83#ifdef NOT_USED
    8384//*****************************************************************************
    8485//*****************************************************************************
     
    107108   return u ? p : NULL;
    108109}
    109 //*****************************************************************************
     110#endif
     111
    110112//*****************************************************************************
    111113#if !defined(KEE)
    112114static  GINFO FAR48 *pGIS = 0;
    113115#endif
    114 //*****************************************************************************
     116
    115117//*****************************************************************************
    116118//PS++ Begin
    117 extern "C"
    118 {
    119119#pragma pack(1)
    120120#include     "infoseg.h"
     
    122122extern PVOID  KernSISData;
    123123#define KernSISData             ((struct InfoSegGDT *)&KernSISData)
    124 }
    125124ULONG os2gettimesec()
    126125{
     
    143142#endif
    144143}
    145 //*****************************************************************************
     144
    146145//*****************************************************************************
    147146ULONG os2gettimemsec()
     
    166165}
    167166//PS++ End
    168 //*****************************************************************************
    169 //*****************************************************************************
    170167
  • GPL/branches/uniaud32-2.1.x/howtobuild.txt

    r64 r588  
    1 NOTE! Use OpenWatcom 1.4rc1 or later. Also you need IBM's ILINK for driver
     1NOTE! Use OpenWatcom 1.9 or later. Also you need IBM's ILINK for driver
    22      linking. Possible, you can try wlink, but I never did that.
    33
    4 1. Run Configure.cmd
    54
    6 2. Enter path to watcom and ddk base
     51. Setup WATCOM and DDK in your environment.
    76
    8 3. within created makefile.inc check for:
    9    ALSA_SRC
    10    ALSA_LIB_
    11    ALSA_BIN_
    12    define and create corresponding directories
     72. type wmake or wmake -a
    138
    14 4. add following state if not added by configure:
    15    ################################################################################
    16    # Include the right watcom makefile
    17    ################################################################################
    18    !ifdef 32BIT
    19    !include E:\DEV\USS\test\GPL\include\watcom32.mk
    20    !include E:\DEV\USS\test\GPL\include\watcom32.mak
    21    !else
    22    !include E:\DEV\USS\ua2\OCO\include\watcom16.mk
    23    !include E:\DEV\USS\ua2\OCO\include\watcom16.mak
    24    !endif
    25 
    26    DDK_BASE       = e:\ddk\base
    27    WATCOM         = e:\owatcom
    28 
    29 5. run !m_kee.cmd or !m_v4.cmd scrips
    30 
  • GPL/branches/uniaud32-2.1.x/include/DEVINFO.H

    r32 r588  
    2626#if !defined(DevInfo_h)
    2727#define DevInfo_h 1
    28 
    29 #if !defined(__cplusplus)
    30 #error C++ must be used for strict type checking
    31 #endif
    32 
    3328
    3429// Include the fundamental type definitions
  • GPL/branches/uniaud32-2.1.x/include/DEVTYPE.H

    r32 r588  
    2525#if !defined(DevType_h)
    2626#define DevType_h 1
    27 
    28 #if !defined(__WATCOMC__) || !defined(__cplusplus)
    29 #error Watcom C++ must be used for strict type checking.
    30 #endif
    3127
    3228#pragma pack(1)
     
    10298  WORD16      Count;          // Count of bytes in queue
    10399  };
    104 template <int s> struct QUEUE : public QBASE
    105   {
    106   BYTE        Buffer[s];      // Queue buffer
    107   };
     100//template <int s> struct QUEUE : public QBASE
     101//  {
     102//  BYTE        Buffer[s];      // Queue buffer
     103//  };
    108104
    109105// Inter device driver communication structure
     
    137133struct DEVHEADER
    138134  {
    139   DEVHEADER FAR* Link;        // Link to next header in chain
     135  struct DEVHEADER FAR* Link;        // Link to next header in chain
    140136  WORD16      DAWFlags;       // Device attribute word
    141137  VOID*       StrategyEntry;  // Entry point to strategy routine
     
    147143
    148144// Constant for final DEVHEADER in chain
    149 #define       FinalLink       ((DEVHEADER FAR*)0xFFFFFFFFul)
     145#define       FinalLink       ((struct DEVHEADER FAR*)0xFFFFFFFFul)
    150146
    151147// Constants for device attribute word
     
    182178#define OffsetBeginDS32        ((WORD32)&_OffBeginDS32)
    183179
    184 extern "C"
    185 {
     180//extern "C"
     181//{
    186182  extern BYTE _OffFinalCS32;               // End of resident code
    187183  extern BYTE _OffFinalDS32;               // End of resident code
     
    190186  extern WORD16 _OffsetFinalCS16;
    191187  extern WORD16 _OffsetFinalDS16;
    192 }
     188//}
    193189
    194190#pragma pack()
  • GPL/branches/uniaud32-2.1.x/include/linux/types.h

    r499 r588  
    111111};
    112112
    113 #define __inline__ __inline 
     113#define __inline__ __inline
    114114
    115115#ifdef FLATSTACK
     
    138138typedef unsigned int fmode_t;
    139139
    140 typedef int _Bool;
     140//typedef int _Bool;
    141141typedef _Bool bool;
    142142
  • GPL/branches/uniaud32-2.1.x/include/malloc.h

    r504 r588  
    3535void NEAR *malloc(ULONG size, const char *filename, int lineno);
    3636void       free(void *NEAR ptr, const char *filename, int lineno);
    37 void NEAR *realloc(void *NEAR ptr, unsigned newsize, const char *filename, int lineno);
     37void NEAR *realloc(void *NEAR ptr, unsigned long newsize, const char *filename, int lineno);
    3838#else
    3939void NEAR *malloc(ULONG size);
    4040void       free(void NEAR *);
    41 void NEAR *realloc(void NEAR *, unsigned);
     41void NEAR *realloc(void NEAR *, unsigned long);
    4242#endif
    4343
  • GPL/branches/uniaud32-2.1.x/include/strategy.h

    r32 r588  
    1 /* $Id: strategy.h,v 1.1.1.1 2003/07/02 13:56:58 eleph Exp $ */
    2 /*
    3  * OS/2 strategy handler definitions
    4  *
    5  * (C) 2000-2002 InnoTek Systemberatung GmbH
    6  * (C) 2000-2001 Sander van Leeuwen (sandervl@xs4all.nl)
    7  *
    8  * This program is free software; you can redistribute it and/or
    9  * modify it under the terms of the GNU General Public License as
    10  * published by the Free Software Foundation; either version 2 of
    11  * the License, or (at your option) any later version.
    12  *
    13  * This program is distributed in the hope that it will be useful,
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    16  * GNU General Public License for more details.
    17  *
    18  * You should have received a copy of the GNU General Public
    19  * License along with this program; if not, write to the Free
    20  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
    21  * USA.
    22  *
    23  */
    24 
     1/****************************************************************************
     2 *                                                                          *
     3 * Copyright (c) IBM Corporation 1994 - 1997.                               *
     4 *                                                                          *
     5 * The following IBM OS/2 source code is provided to you solely for the     *
     6 * the purpose of assisting you in your development of OS/2 device drivers. *
     7 * You may use this code in accordance with the IBM License Agreement       *
     8 * provided in the IBM Device Driver Source Kit for OS/2.                   *
     9 *                                                                          *
     10 * Copyright (c) 2013 David Azarewicz david@88watts.net                     *
     11 * Modified to fix problems and for OpenWatcom compatibility                *
     12 ****************************************************************************/
    2513#ifndef STRATEGY_INCLUDED
    2614#define STRATEGY_INCLUDED
    2715
     16#pragma pack(1);
    2817
    29 /* Constants relating to the Strategy Routines
    30 */
     18typedef struct {              /* template for request header */
     19  BYTE bLength;               /* 00 request packet length */
     20  BYTE bUnit;                 /* 01 unit code for block DD only */
     21  BYTE bCommand;              /* 02 command code */
     22  USHORT usStatus;            /* 03 return status */
     23  ULONG dwReserved;           /* 05 reserved bytes */
     24  ULONG ulQlink;              /* 09 queue linkage */
     25  union {                     /* command-specific data */
     26    struct {
     27      BYTE b;                 /* 0D */
     28      PFN  ulDevHlp;          /* 0E dev help address */
     29      ULONG szArgs; /* 12 argument pointer */
     30      BYTE bDrive;            /* 16 */
     31    } init_in;
     32    struct {
     33      BYTE bUnits;
     34      USHORT usCodeEnd;       // final code offset
     35      USHORT usDataEnd;       // final data offset
     36      ULONG ul;
     37    } init_out;
     38    struct {
     39      BYTE bMedia;
     40      ULONG ulAddress;
     41      USHORT usCount;
     42      ULONG ulStartSector;
     43      USHORT usSysFileNum;
     44    } io;
     45    struct {
     46      BYTE bData;
     47    } peek;
     48    struct {
     49      BYTE bCategory;         // category code
     50      BYTE bFunction;         // function code
     51      ULONG pvParm; // address of parameter buffer
     52      ULONG pvData; // address of data buffer
     53      USHORT usSysFileNum;    // system file number
     54      USHORT usParmLen;       // length of parameter buffer
     55      USHORT usDataLen;       // length of data buffer
     56    } ioctl;
     57    struct {
     58      USHORT usSysFileNum;    // system file number
     59    } open_close;
     60    struct {
     61      BYTE   Function;        // Shutdown code: 0 = start, 1 = end
     62      ULONG  Reserved;        // Reserved
     63    } shutdown;
     64    struct {
     65      BYTE Function;
     66    } save_restore;
     67  };
     68} REQPACKET;
     69
     70#pragma pack();
     71
     72/* Constants relating to the Strategy Routines */
    3173
    3274#define RPDONE    0x0100         // return successful, must be set
     
    3577#define RPERR     0x8000         // return error
    3678
    37 // List of error codes, from chapter 8 of PDD reference
    38 #define RPNOTREADY  0x0002
    39 #define RPBADCMD    0x0003
    40 #define RPGENFAIL   0x000c
    41 #define RPDEVINUSE  0x0014
    42 #define RPINITFAIL  0x0015
     79#define RPERR_PROTECT         0x8000
     80#define RPERR_UNIT            0x8001
     81#define RPERR_NOTREADY        0x8002
     82#define RPERR_BADCOMMAND      0x8003
     83#define RPERR_CRC             0x8004
     84#define RPERR_LENGTH          0x8005
     85#define RPERR_SEEK            0x8006
     86#define RPERR_FORMAT          0x8007
     87#define RPERR_SECTOR          0x8008
     88#define RPERR_PAPER           0x8009
     89#define RPERR_WRITE           0x800A
     90#define RPERR_READ            0x800B
     91#define RPERR_GENERAL         0x800C
     92#define RPERR_DISK            0x800D
     93#define RPERR_MEDIA           0x8010
     94#define RPERR_INTERRUPTED     0x8011
     95#define RPERR_MONITOR         0x8012
     96#define RPERR_PARAMETER       0x8013
     97#define RPERR_DEVINUSE        0x8014
     98#define RPERR_INITFAIL        0x8015
    4399
    44100// list of Strategy commands from PDD reference
    45 // Note this is only the list of commands audio device drivers care about
    46 #define STRATEGY_INIT          0x00
    47 #define STRATEGY_OPEN          0x0D
    48 #define STRATEGY_CLOSE         0x0E
    49 #define STRATEGY_GENIOCTL      0x10
    50 #define STRATEGY_DEINSTALL     0x14
    51 #define STRATEGY_INITCOMPLETE  0x1F
     101#define STRATEGY_INIT            0x00
     102#define STRATEGY_MEDIACHECK      0x01
     103#define STRATEGY_BUILDBPB        0x02
     104#define STRATEGY_IOCTLR          0x03
     105#define STRATEGY_READ            0x04
     106#define STRATEGY_NDR             0x05
     107#define STRATEGY_INPUTSTATUS     0x06
     108#define STRATEGY_FLUSHINPUT      0x07
     109#define STRATEGY_WRITE           0x08
     110#define STRATEGY_WRITEVERIFY     0x09
     111#define STRATEGY_OUTPUTSTATUS    0x0A
     112#define STRATEGY_FLUSHOUTPUT     0x0B
     113#define STRATEGY_IOCTLW          0x0C
     114#define STRATEGY_OPEN            0x0D
     115#define STRATEGY_CLOSE           0x0E
     116#define STRATEGY_REMOVEABLEMEDIA 0x0F
     117#define STRATEGY_GENIOCTL        0x10
     118#define STRATEGY_RESETMEDIA      0x11
     119#define STRATEGY_GETLOGMAP       0x12
     120#define STRATEGY_SETLOGMAP       0x13
     121#define STRATEGY_DEINSTALL       0x14
     122#define STRATEGY_PARTFIXEDDISKS  0x16
     123#define STRATEGY_GETFDLOGUNITMAP 0x17
     124#define STRATEGY_INPUTBYPASS     0x18
     125#define STRATEGY_OUTPUTBYPASS    0x19
     126#define STRATEGY_OUTPUTBYPASSV   0x1A
     127#define STRATEGY_BASEDEVINIT     0x1B
     128#define STRATEGY_SHUTDOWN        0x1C
     129#define STRATEGY_GETDRIVERCAPS   0x1D
     130#define STRATEGY_INITCOMPLETE    0x1F
     131#define STRATEGY_SAVERESTORE     0x20
     132
     133#define IOCTL_ASYNC            0x0001
     134#define IOCTL_SCR_AND_PTRDRAW  0x0003
     135#define IOCTL_KEYBOARD         0x0004
     136#define IOCTL_PRINTER          0x0005
     137#define IOCTL_LIGHTPEN         0x0006
     138#define IOCTL_POINTINGDEVICE   0x0007
     139#define IOCTL_DISK             0x0008
     140#define IOCTL_PHYSICALDISK     0x0009
     141#define IOCTL_MONITOR          0x000A
     142#define IOCTL_GENERAL          0x000B
     143#define IOCTL_POWER            0x000C
     144#define IOCTL_OEMHLP           0x0080
     145#define IOCTL_TESTCFG_SYS      0x0080
     146#define IOCTL_CDROMDISK        0x0080
     147#define IOCTL_CDROMAUDIO       0x0081
     148#define IOCTL_TOUCH_DEVDEP     0x0081
     149#define IOCTL_TOUCH_DEVINDEP   0x0081
    52150
    53151#endif
  • GPL/branches/uniaud32-2.1.x/lib32/initcall.h

    r568 r588  
    88typedef void (*exitcall_t)(void);
    99
    10 extern "C" int use_internal_drums;
     10extern int use_internal_drums;
    1111
    1212#define __initcall(fn)                                                          \
     
    1919#define module_exit(x)  __exitcall(x);
    2020
    21 #define extern_module_init(x)   extern "C" initcall_t __initcall_##x;
    22 #define extern_module_exit(x)   extern "C" exitcall_t __exitcall_##x;
     21#define extern_module_init(x)   extern initcall_t __initcall_##x;
     22#define extern_module_exit(x)   extern exitcall_t __exitcall_##x;
    2323
    2424#define call_module_init(x)     __initcall_##x()
     
    108108extern_module_init(patch_analog_init)
    109109extern_module_exit(patch_analog_exit)
    110 #if 0
    111 extern_module_init(patch_hdmi_init)
    112 extern_module_exit(patch_hdmi_init)
    113 #endif
     110extern_module_init(patch_atihdmi_init)
     111extern_module_exit(patch_atihdmi_init)
    114112extern_module_init(patch_cmedia_init)
    115113extern_module_exit(patch_cmedia_exit)
  • GPL/branches/uniaud32-2.1.x/lib32/malloc.c

    r587 r588  
    384384physically located after pmb.
    385385
    386 Helper function remove() removes an element from the free list.
     386Helper function h_remove() removes an element from the free list.
    387387*/
    388388
    389389#define after(pmb) ((PMEMBLOCK) ((char *) pmb + pmb->ulSize + HDR_SIZE))
    390390
    391 void remove(PMEMBLOCK pmb)
     391void h_remove(PMEMBLOCK pmb)
    392392{
    393393    PMEMBLOCK pmbPrev;
    394394
    395     if (pmb == pmbFree) {
     395    if (pmb == pmbFree)
     396    {
    396397        pmbFree = pmbFree->pmbNext;
    397398        return;
    398399    }
    399400
    400     for (pmbPrev=pmbFree; pmbPrev; pmbPrev=pmbPrev->pmbNext) {
    401         if (pmbPrev->pmbNext == pmb) {
     401    for (pmbPrev=pmbFree; pmbPrev; pmbPrev=pmbPrev->pmbNext)
     402    {
     403        if (pmbPrev->pmbNext == pmb)
     404        {
    402405            pmbPrev->pmbNext = pmb->pmbNext;
    403406            return;
     
    405408        }
    406409}
    407 //*****************************************************************************
     410
    408411//*****************************************************************************
    409412void compact(void)
     
    417420                        // dprintf(("HEAP: compact found pointer %p (size=%ui) before pmbFree %p\n", (void __far *) pmb, pmb->uSize, (void __far *) pmbFree));
    418421            pmb->ulSize += HDR_SIZE + pmbFree->ulSize;
    419             remove(pmbFree);
     422            h_remove(pmbFree);
    420423            if (++sFreed == 2) break;
    421424        } else if (after(pmbFree) == pmb) {
    422425                        // dprintf(("HEAP: compact found pointer %p (size=%ui) after pmbFree %p\n", (void __far *) pmb, pmb->uSize, (void __far *) pmbFree);
    423426            pmbFree->ulSize += HDR_SIZE + pmb->ulSize;
    424             remove(pmb);
     427            h_remove(pmb);
    425428            if (++sFreed == 2) break;
    426429        }
     
    554557}
    555558//*****************************************************************************
    556 extern "C" APIRET VMAlloc(ULONG size, ULONG flags, LINEAR *pAddr) ;
     559extern APIRET VMAlloc(ULONG size, ULONG flags, LINEAR *pAddr) ;
    557560//*****************************************************************************
    558561ULONG HeapInit(ULONG ulSize)
  • GPL/branches/uniaud32-2.1.x/lib32/memory.c

    r587 r588  
    2323 */
    2424
    25 extern "C" {
    2625#define INCL_NOPMAPI
    2726#define INCL_DOSERRORS           // for ERROR_INVALID_FUNCTION
    2827#include <os2.h>
    29 }
    3028#include <devhelp.h>
    3129#include <ossidc.h>
     
    4341#define PAGE_SIZE 4096
    4442
    45 extern "C" {
    46 
    4743int free_pages(unsigned long addr, unsigned long order);
    4844int __compat_get_order(unsigned long size);
     
    174170}
    175171//******************************************************************************
    176 extern "C" int fStrategyInit;
     172extern int fStrategyInit;
    177173//******************************************************************************
    178174APIRET VMAlloc(ULONG size, ULONG flags, LINEAR *pAddr)
     
    180176    APIRET rc;
    181177    ULONG addr;
     178    SHORT sel;
    182179
    183180    if(fStrategyInit && !(flags & VMDHA_16M)) {
     
    188185
    189186#ifdef KEE
    190     SHORT sel;
    191187
    192188    rc = KernVMAlloc(size, flags, (PVOID*)&addr, (PVOID*)-1, &sel);
     
    566562        return 0;
    567563}
    568 //******************************************************************************
     564
    569565//******************************************************************************
    570566#ifdef DEBUGHEAP
     
    598594    return addr;
    599595}
    600 //******************************************************************************
     596
    601597//******************************************************************************
    602598#ifdef DEBUGHEAP
     
    609605
    610606    addr  = (ULONG)ptr;
    611     if(addr == NULL) {
     607    if(addr == 0)
     608    {
    612609        DebugInt3();
    613610        return;
     
    623620    else  vfree((PVOID)addr);
    624621}
    625 //******************************************************************************
     622
    626623//******************************************************************************
    627624void *kzalloc(size_t size, unsigned int flags)
     
    641638        return kzalloc(n * size, flags);
    642639}
    643 //******************************************************************************
    644 //******************************************************************************
    645 
    646 }
     640
  • GPL/branches/uniaud32-2.1.x/lib32/stack.c

    r587 r588  
    2020 */
    2121
    22 extern "C" {
    2322#define INCL_NOPMAPI
    2423#define INCL_DOSERRORS           // for ERROR_INVALID_FUNCTION
    2524#include <os2.h>
    26 }
    2725#include <devhelp.h>
    2826#include <ossidc.h>
     
    144142                    return;
    145143            }
    146     } 
     144    }
    147145    DevPopf(cpuflags);
    148146    DebugInt3();
     
    158156
    159157    offset = addr32 - (ULONG)StackBase;
    160    
     158
    161159    if(offset > TOTAL_STACKSIZE) {
    162160        //bad boy!
  • GPL/branches/uniaud32-2.1.x/tools/mkversion.cmd

    r576 r588  
    22 * Set time/date/hostname for uniaud build environment
    33 */
     4call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs';
     5call SysLoadFuncs;
    46
    5 parse arg sAlsaBase
     7parse arg sDebugMode;
    68
    79/* I don't this will ever change from Netlabs */
    8 projVendor    = "Netlabs"
    9 projProduct   = "OS/2 Universal Audio 32 Driver"
    10 projVendorNam = "Netlabs <www.netlabs.org>"
    11 projAdapter   = "OS/2 Universal Audio"
    12 
     10projVendor    = EnvVar_Get_If('VENDOR', 'Netlabs');
     11projProduct   = "OS/2 Universal Audio 32 Driver";
     12projVendorNam = "Netlabs <www.netlabs.org>";
     13projAdapter   = "OS/2 Universal Audio";
    1314
    1415/* uniaud.inc is located in the base gpl directory and
     
    1617 * written to include\version.h.
    1718 */
    18 if sAlsaBase = "" then sAlsaBase = "."
    19 versConst = sAlsaBase"\uniaud.inc"
     19sAlsaBase = Directory();
     20versConst = sAlsaBase||"\uniaud.inc";
    2021
    21 versMak   = sAlsaBase"\include\version.mak"
    22 versHdr   = sAlsaBase"\include\version.h"
    23 AlsaVersHdr = sAlsaBase'\alsa-kernel\include\sound\version.h'
     22versMak   = sAlsaBase||"\include\version.mak";
     23versHdr   = sAlsaBase||"\include\version.h";
     24AlsaVersHdr = sAlsaBase||'\alsa-kernel\include\sound\version.h';
    2425
    2526/* get and format date and time */
    26 curDate    = DATE('S')
    27 projDate   = RIGHT(curDate, 2)"."SUBSTR(curDate, 5, 2)"."LEFT(curDate, 4)
    28 projDate2  = LEFT(curDate, 4)SUBSTR(curDate, 5, 2)RIGHT(curDate, 2)L
    29 projTime   = TIME( )
     27curDate    = DATE('S');
     28projDate   = RIGHT(curDate, 2)||"."||SUBSTR(curDate, 5, 2)||"."||LEFT(curDate, 4);
     29projDate2  = LEFT(curDate, 4)||SUBSTR(curDate, 5, 2)||RIGHT(curDate, 2)L
     30projTime   = TIME( );
    3031
    31 /* get hostname for build system */
    32 projHost = VALUE('HOSTNAME',,'OS2ENVIRONMENT')
     32if (sDebugMode<>'') then do
     33  say "Project date: "projDate
     34  say "Project time: "projTime
     35  say "Inc File:     "versConst
     36  say "Version Mak:   "versMak
     37  say "Version Hdr:   "versHdr
     38end
    3339
    34 projString = left(Date() TIME(),25)left(projHost,10)
     40LINEIN(versConst,,0);
    3541
    36 say "Project date: "projDate
    37 say "Project time: "projTime
    38 say "hostname:     "projHost
    39 say "Version In:    "versConst
    40 say "Version Mak:   "versMak
    41 say "Version Hdr:   "versHdr
    42 
    43 LINEIN(versConst,,0)
    44 
    45 fixpack = ''
     42fixpack = '';
    4643
    4744do while(LINES(versConst))
    48     tmpLine = LINEIN(versConst)
     45  tmpLine = LINEIN(versConst);
    4946
    50     IF POS('#', tmpline) = 1 Then iterate
     47  IF POS('#', tmpline) = 1 Then iterate;
    5148
    52     opLoc = POS('BUILDVERSION', tmpLine)
    53     if opLoc > 0 then
    54       versionIn = STRIP((RIGHT(tmpLine, ( LENGTH(tmpLine) - (POS("=", tmpLine)+1) ))), B, ' ')
     49  opLoc = POS('BUILDVERSION', tmpLine);
     50  if opLoc > 0 then
     51    versionIn = STRIP((RIGHT(tmpLine, ( LENGTH(tmpLine) - (POS("=", tmpLine)+1) ))), B, ' ')
    5552
    56     opLoc = POS('PRODUCTNAME', tmpLine)
    57     if opLoc > 0 then
    58       productName = STRIP((RIGHT(tmpLine, ( LENGTH(tmpLine) - (POS("=", tmpLine)+1) ))), B, ' ')
     53  opLoc = POS('PRODUCTNAME', tmpLine)
     54  if opLoc > 0 then
     55    productName = STRIP((RIGHT(tmpLine, ( LENGTH(tmpLine) - (POS("=", tmpLine)+1) ))), B, ' ')
    5956
    60     opLoc = POS('FIXPACK', tmpLine)
    61     if opLoc > 0 then
    62       fixpack = STRIP((RIGHT(tmpLine, ( LENGTH(tmpLine) - (POS("=", tmpLine)+1) ))), B, ' ')
    63 
     57  opLoc = POS('FIXPACK', tmpLine)
     58  if opLoc > 0 then
     59    fixpack = STRIP((RIGHT(tmpLine, ( LENGTH(tmpLine) - (POS("=", tmpLine)+1) ))), B, ' ')
    6460end
    6561
    66 if versionIn = "" then do
    67     say "Could not find Version in "versConst
    68     exit
     62if (sDebugMode<>'') then say 'versionIn='||versionIn;
     63
     64if (versionIn = "") then do
     65  say "Could not find Version in "||versConst;
     66  exit;
    6967end
    7068
     
    7270
    7371if fixpack="" then
    74         projVers  = versionIn
     72  projVers = versionIn;
    7573else
    76         projVers  = versionIn'-'fixpack
     74  projVers = versionIn||'-'||fixpack;
    7775
    78 projVers2 = major||minor||projVersion
     76projVers2 = major||minor||projVersion;
    7977
    8078LINEIN(AlsaVersHdr,,0)
     
    8381
    8482do while(LINES(AlsaVersHdr))
    85     tmpLine = LINEIN(AlsaVersHdr)
    86     opLoc = POS('#define CONFIG_SND_VERSION', tmpLine)
    87     if opLoc > 0 then
    88       AlsaLevel = STRIP(RIGHT(tmpLine, ( LENGTH(tmpLine) - (POS('"', tmpLine)))),,'"')
     83  tmpLine = LINEIN(AlsaVersHdr)
     84  opLoc = POS('#define CONFIG_SND_VERSION', tmpLine)
     85  if opLoc > 0 then AlsaLevel = STRIP(RIGHT(tmpLine, ( LENGTH(tmpLine) - (POS('"', tmpLine)))),,'"')
    8986end
    9087
    91 SAY 'Alsalevel = ' AlsaLevel
     88if (sDebugMode<>'') then do
     89  SAY 'Alsalevel='||AlsaLevel;
     90  say 'ProjVendor='||ProjVendor;
     91  say 'versionIn='||versionIn;
     92  say 'ProjString='||ProjString;
     93  say 'alsalevel='||alsalevel;
     94  say 'ProjVersion='||ProjVersion;
     95  say 'projVers='||projVers;
     96  say 'projVers2='||projVers2;
     97  say 'Fixpack='||Fixpack;
     98end
    9299
    93 SET "BUILDLEVEL=@#"ProjVendor":"versionIn"#@##1## "ProjString":"alsalevel":::"ProjVersion"::"Fixpack"@@"productname
    94 
    95 call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
    96 call SysLoadFuncs
    97 dummy = SysFileDelete(versMak)
     100dummy = SysFileDelete(versMak);
    98101
    99102if (stream(versMak, 'c', 'open write' ) = 'READY:') then
    100103do
    101104    call lineout versMak, '#'
    102 /*    call lineout versMak, '#       VERSION.MAK'
     105    call lineout versMak, '#       VERSION.MAK'
    103106    call lineout versMak, '#'
    104107    call lineout versMak, '#       Current build level for File Versioning'
     
    106109    call lineout versMak, '#       Generated by mkversion.cmd, do NOT edit !'
    107110    call lineout versMak, '#'
    108     call lineout versMak, 'BLDLVL_VENDOR = 'projVendor
    109     call lineout versMak, 'BLDLVL_PRODUCT = 'projProduct
    110     call lineout versMak, 'BLDLVL_REVISION = 'major'.'minor
    111     call lineout versMak, 'BLDLVL_FILEVER = 'projVersion
    112     call lineout versMak, 'BLDLVL_DATETIME = 'projDate' 'projTime
    113     call lineout versMak, 'BLDLVL_MACHINE = 'projHost
     111    call lineout versMak, 'BLDLVL_VENDOR = '||projVendor;
     112    call lineout versMak, 'BLDLVL_VERSION = '||versionIn;
     113    call lineout versMak, 'BLDLVL_FIXPACK = '||Fixpack;
     114    call lineout versMak, 'BLDLVL_ALSA = '||alsalevel;
    114115    call stream versMak, 'c', 'close';
    115 */
    116116end
    117117else
     
    121121end
    122122
    123 
    124123dummy = SysFileDelete(versHdr)
    125124
    126125if (stream(versHdr, 'c', 'open write' ) = 'READY:') then
    127126do
    128     call lineout versHdr, '/*'
    129     call lineout versHdr, ' * version.h   Header for version string'
    130     call lineout versHdr, ' *'
    131     call lineout versHdr, ' *    Generated by mkversion.cmd, do NOT edit !'
    132     call lineout versHdr, ' *'
    133     call lineout versHdr, ' */'
     127    call lineout versHdr, '/*';
     128    call lineout versHdr, ' * version.h   Header for version string';
     129    call lineout versHdr, ' *';
     130    call lineout versHdr, ' *    Generated by mkversion.cmd, do NOT edit !';
     131    call lineout versHdr, ' *';
     132    call lineout versHdr, ' */';
     133    call lineout versHdr, ' ';
     134    call lineout versHdr, ' ';
     135    call lineout versHdr, '#ifndef __UNIAUDVERSION_H__';
     136    call lineout versHdr, '#define __UNIAUDVERSION_H__';
     137    call lineout versHdr, ' ';
     138    call lineout versHdr, ' ';
     139    call lineout versHdr, '#define PRODUCT_NAME            "'||ProductName||'"';
     140    call lineout versHdr, '#define VENDOR_NAME             "'||projVendor||'"';
     141    call lineout versHdr, '#define PRODUCT_TIMESTAMP       '||projDate2||'       // YYYYMMDD';
     142    call lineout versHdr, '#define UNIAUD_VERSION          "'||projVers||'"';
     143    call lineout versHdr, '#define ALSA_VERSION            "'||alsalevel||'"';
    134144    call lineout versHdr, ' '
    135145    call lineout versHdr, ' '
    136     call lineout versHdr, '#ifndef __UNIAUDVERSION_H__'
    137     call lineout versHdr, '#define __UNIAUDVERSION_H__'
    138     call lineout versHdr, ' '
    139     call lineout versHdr, ' '
    140     call lineout versHdr, '#define PRODUCT_NAME            "'ProductName'"'
    141     call lineout versHdr, '#define VENDOR_NAME             "'projVendor'"'
    142     call lineout versHdr, '#define PRODUCT_TIMESTAMP       'projDate2'       // YYYYMMDD'
    143     call lineout versHdr, '#define UNIAUD_VERSION          "'projVers'"'
    144     call lineout versHdr, '#define ALSA_VERSION            "'alsalevel'"'
    145     call lineout versHdr, ' '
    146     call lineout versHdr, ' '
    147     call lineout versHdr, '#define RM_VERSION              'projVers2
    148     call lineout versHdr, '#define RM_DRIVER_NAME          "UNIAUD32.SYS"'
    149     call lineout versHdr, '#define RM_DRIVER_DESCRIPTION   "'projProduct'"'
    150     call lineout versHdr, '#define RM_ADAPTER_NAME         "'projAdapter'"'
    151     call lineout versHdr, '#define RM_DRIVER_VENDORNAME    "'projVendorNam'"'
    152     call lineout versHdr, '#define RM_DRIVER_BUILDYEAR     (PRODUCT_TIMESTAMP / 10000)'
    153     call lineout versHdr, '#define RM_DRIVER_BUILDMONTH    ((PRODUCT_TIMESTAMP / 100) % 100)'
    154     call lineout versHdr, '#define RM_DRIVER_BUILDDAY      (PRODUCT_TIMESTAMP % 100)'
    155     call lineout versHdr, ' '
    156     call lineout versHdr, ' '
    157     call lineout versHdr, "#endif //__UNIAUDVERSION_H__"
    158     call lineout versHdr, ' '
     146    call lineout versHdr, '#define RM_VERSION              '||projVers2;
     147    call lineout versHdr, '#define RM_DRIVER_NAME          "UNIAUD32.SYS"';
     148    call lineout versHdr, '#define RM_DRIVER_DESCRIPTION   "'||projProduct||'"';
     149    call lineout versHdr, '#define RM_ADAPTER_NAME         "'||projAdapter||'"';
     150    call lineout versHdr, '#define RM_DRIVER_VENDORNAME    "'||projVendorNam||'"';
     151    call lineout versHdr, '#define RM_DRIVER_BUILDYEAR     (PRODUCT_TIMESTAMP / 10000)';
     152    call lineout versHdr, '#define RM_DRIVER_BUILDMONTH    ((PRODUCT_TIMESTAMP / 100) % 100)';
     153    call lineout versHdr, '#define RM_DRIVER_BUILDDAY      (PRODUCT_TIMESTAMP % 100)';
     154    call lineout versHdr, ' ';
     155    call lineout versHdr, ' ';
     156    call lineout versHdr, "#endif //__UNIAUDVERSION_H__";
     157    call lineout versHdr, ' ';
    159158    call stream versHdr, 'c', 'close';
    160159end
     
    167166exit 0;
    168167
     168/**
     169 * Procedure section
     170 **/
    169171
     172EnvVar_Get: procedure
     173    parse arg sEnvVar
     174    if translate(sEnvVar) == 'BEGINLIBPATH' then
     175      s = SysQueryExtLibpath('B')
     176    else if translate(sEnvVar) == 'ENDLIBPATH' then
     177      s = SysQueryExtLibpath('E')
     178    else
     179      s = value(sEnvVar,, 'OS2ENVIRONMENT')
     180    return s;
    170181
     182/*
     183 * Returns value of sEnvVar from environment if set or returns default value.
     184 */
     185EnvVar_Get_If: procedure
     186  parse arg sEnvVar, sDefault;
     187  s = EnvVar_Get(sEnvVar);
     188  if s == '' then
     189    s = sDefault;
     190  return s;
     191
Note: See TracChangeset for help on using the changeset viewer.