| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 |  | 
|  | 2 | /* | 
|  | 3 | * | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 4 | Copyright (c) Eicon Networks, 2002. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 5 | * | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 6 | This source file is supplied for the use with | 
|  | 7 | Eicon Networks range of DIVA Server Adapters. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | * | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 9 | Eicon File Revision :    2.1 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | * | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 11 | This program is free software; you can redistribute it and/or modify | 
|  | 12 | it under the terms of the GNU General Public License as published by | 
|  | 13 | the Free Software Foundation; either version 2, or (at your option) | 
|  | 14 | any later version. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 | * | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 16 | This program is distributed in the hope that it will be useful, | 
|  | 17 | but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY | 
|  | 18 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
|  | 19 | See the GNU General Public License for more details. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | * | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 21 | You should have received a copy of the GNU General Public License | 
|  | 22 | along with this program; if not, write to the Free Software | 
|  | 23 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | * | 
|  | 25 | */ | 
|  | 26 | #ifndef __DIVA_XDI_COMMON_IO_H_INC__ /* { */ | 
|  | 27 | #define __DIVA_XDI_COMMON_IO_H_INC__ | 
|  | 28 | /* | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 29 | maximum = 16 adapters | 
|  | 30 | */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | #define DI_MAX_LINKS    MAX_ADAPTER | 
|  | 32 | #define ISDN_MAX_NUM_LEN 60 | 
|  | 33 | /* -------------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 34 | structure for quadro card management (obsolete for | 
|  | 35 | systems that do provide per card load event) | 
|  | 36 | -------------------------------------------------------------------------- */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 | typedef struct { | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 38 | dword         Num; | 
|  | 39 | DEVICE_NAME   DeviceName[4]; | 
|  | 40 | PISDN_ADAPTER QuadroAdapter[4]; | 
|  | 41 | } ADAPTER_LIST_ENTRY, *PADAPTER_LIST_ENTRY; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 42 | /* -------------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 43 | Special OS memory support structures | 
|  | 44 | -------------------------------------------------------------------------- */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 45 | #define MAX_MAPPED_ENTRIES 8 | 
|  | 46 | typedef struct { | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 47 | void *Address; | 
|  | 48 | dword    Length; | 
|  | 49 | } ADAPTER_MEMORY; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 | /* -------------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 51 | Configuration of XDI clients carried by XDI | 
|  | 52 | -------------------------------------------------------------------------- */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 53 | #define DIVA_XDI_CAPI_CFG_1_DYNAMIC_L1_ON      0x01 | 
|  | 54 | #define DIVA_XDI_CAPI_CFG_1_GROUP_POPTIMIZATION_ON 0x02 | 
|  | 55 | typedef struct _diva_xdi_capi_cfg { | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 56 | byte cfg_1; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 57 | } diva_xdi_capi_cfg_t; | 
|  | 58 | /* -------------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 59 | Main data structure kept per adapter | 
|  | 60 | -------------------------------------------------------------------------- */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 61 | struct _ISDN_ADAPTER { | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 62 | void (*DIRequest)(PISDN_ADAPTER, ENTITY *); | 
|  | 63 | int State; /* from NT4 1.srv, a good idea, but  a poor achievement */ | 
|  | 64 | int Initialized; | 
|  | 65 | int RegisteredWithDidd; | 
|  | 66 | int Unavailable;  /* callback function possible? */ | 
|  | 67 | int ResourcesClaimed; | 
|  | 68 | int PnpBiosConfigUsed; | 
|  | 69 | dword Logging; | 
|  | 70 | dword features; | 
|  | 71 | char ProtocolIdString[80]; | 
|  | 72 | /* | 
|  | 73 | remember mapped memory areas | 
|  | 74 | */ | 
|  | 75 | ADAPTER_MEMORY MappedMemory[MAX_MAPPED_ENTRIES]; | 
|  | 76 | CARD_PROPERTIES Properties; | 
|  | 77 | dword cardType; | 
|  | 78 | dword protocol_id;       /* configured protocol identifier */ | 
|  | 79 | char protocol_name[8];  /* readable name of protocol */ | 
|  | 80 | dword BusType; | 
|  | 81 | dword BusNumber; | 
|  | 82 | dword slotNumber; | 
|  | 83 | dword slotId; | 
|  | 84 | dword ControllerNumber;  /* for QUADRO cards only */ | 
|  | 85 | PISDN_ADAPTER MultiMaster;       /* for 4-BRI card only - use MultiMaster or QuadroList */ | 
|  | 86 | PADAPTER_LIST_ENTRY QuadroList;        /* for QUADRO card  only */ | 
|  | 87 | PDEVICE_OBJECT DeviceObject; | 
|  | 88 | dword DeviceId; | 
|  | 89 | diva_os_adapter_irq_info_t irq_info; | 
|  | 90 | dword volatile IrqCount; | 
|  | 91 | int trapped; | 
|  | 92 | dword DspCodeBaseAddr; | 
|  | 93 | dword MaxDspCodeSize; | 
|  | 94 | dword downloadAddr; | 
|  | 95 | dword DspCodeBaseAddrTable[4]; /* add. for MultiMaster */ | 
|  | 96 | dword MaxDspCodeSizeTable[4]; /* add. for MultiMaster */ | 
|  | 97 | dword downloadAddrTable[4]; /* add. for MultiMaster */ | 
|  | 98 | dword MemoryBase; | 
|  | 99 | dword MemorySize; | 
|  | 100 | byte __iomem *Address; | 
|  | 101 | byte __iomem *Config; | 
|  | 102 | byte __iomem *Control; | 
|  | 103 | byte __iomem *reset; | 
|  | 104 | byte __iomem *port; | 
|  | 105 | byte __iomem *ram; | 
|  | 106 | byte __iomem *cfg; | 
|  | 107 | byte __iomem *prom; | 
|  | 108 | byte __iomem *ctlReg; | 
|  | 109 | struct pc_maint  *pcm; | 
|  | 110 | diva_os_dependent_devica_name_t os_name; | 
|  | 111 | byte Name[32]; | 
|  | 112 | dword serialNo; | 
|  | 113 | dword ANum; | 
|  | 114 | dword ArchiveType; /* ARCHIVE_TYPE_NONE ..._SINGLE ..._USGEN ..._MULTI */ | 
|  | 115 | char *ProtocolSuffix; /* internal protocolfile table */ | 
|  | 116 | char Archive[32]; | 
|  | 117 | char Protocol[32]; | 
|  | 118 | char AddDownload[32]; /* Dsp- or other additional download files */ | 
|  | 119 | char Oad1[ISDN_MAX_NUM_LEN]; | 
|  | 120 | char Osa1[ISDN_MAX_NUM_LEN]; | 
|  | 121 | char Oad2[ISDN_MAX_NUM_LEN]; | 
|  | 122 | char Osa2[ISDN_MAX_NUM_LEN]; | 
|  | 123 | char Spid1[ISDN_MAX_NUM_LEN]; | 
|  | 124 | char Spid2[ISDN_MAX_NUM_LEN]; | 
|  | 125 | byte nosig; | 
|  | 126 | byte BriLayer2LinkCount; /* amount of TEI's that adapter will support in P2MP mode */ | 
|  | 127 | dword Channels; | 
|  | 128 | dword tei; | 
|  | 129 | dword nt2; | 
|  | 130 | dword TerminalCount; | 
|  | 131 | dword WatchDog; | 
|  | 132 | dword Permanent; | 
|  | 133 | dword BChMask; /* B channel mask for unchannelized modes */ | 
|  | 134 | dword StableL2; | 
|  | 135 | dword DidLen; | 
|  | 136 | dword NoOrderCheck; | 
|  | 137 | dword ForceLaw; /* VoiceCoding - default:0, a-law: 1, my-law: 2 */ | 
|  | 138 | dword SigFlags; | 
|  | 139 | dword LowChannel; | 
|  | 140 | dword NoHscx30; | 
|  | 141 | dword ProtVersion; | 
|  | 142 | dword crc4; | 
|  | 143 | dword L1TristateOrQsig; /* enable Layer 1 Tristate (bit 2)Or Qsig params (bit 0,1)*/ | 
|  | 144 | dword InitialDspInfo; | 
|  | 145 | dword ModemGuardTone; | 
|  | 146 | dword ModemMinSpeed; | 
|  | 147 | dword ModemMaxSpeed; | 
|  | 148 | dword ModemOptions; | 
|  | 149 | dword ModemOptions2; | 
|  | 150 | dword ModemNegotiationMode; | 
|  | 151 | dword ModemModulationsMask; | 
|  | 152 | dword ModemTransmitLevel; | 
|  | 153 | dword FaxOptions; | 
|  | 154 | dword FaxMaxSpeed; | 
|  | 155 | dword Part68LevelLimiter; | 
|  | 156 | dword UsEktsNumCallApp; | 
|  | 157 | byte UsEktsFeatAddConf; | 
|  | 158 | byte UsEktsFeatRemoveConf; | 
|  | 159 | byte UsEktsFeatCallTransfer; | 
|  | 160 | byte UsEktsFeatMsgWaiting; | 
|  | 161 | byte QsigDialect; | 
|  | 162 | byte ForceVoiceMailAlert; | 
|  | 163 | byte DisableAutoSpid; | 
|  | 164 | byte ModemCarrierWaitTimeSec; | 
|  | 165 | byte ModemCarrierLossWaitTimeTenthSec; | 
|  | 166 | byte PiafsLinkTurnaroundInFrames; | 
|  | 167 | byte DiscAfterProgress; | 
|  | 168 | byte AniDniLimiter[3]; | 
|  | 169 | byte TxAttenuation;  /* PRI/E1 only: attenuate TX signal */ | 
|  | 170 | word QsigFeatures; | 
|  | 171 | dword GenerateRingtone; | 
|  | 172 | dword SupplementaryServicesFeatures; | 
|  | 173 | dword R2Dialect; | 
|  | 174 | dword R2CasOptions; | 
|  | 175 | dword FaxV34Options; | 
|  | 176 | dword DisabledDspMask; | 
|  | 177 | dword AdapterTestMask; | 
|  | 178 | dword DspImageLength; | 
|  | 179 | word AlertToIn20mSecTicks; | 
|  | 180 | word ModemEyeSetup; | 
|  | 181 | byte R2CtryLength; | 
|  | 182 | byte CCBSRelTimer; | 
|  | 183 | byte *PcCfgBufferFile;/* flexible parameter via file */ | 
|  | 184 | byte *PcCfgBuffer; /* flexible parameter via multistring */ | 
|  | 185 | diva_os_dump_file_t dump_file; /* dump memory to file at lowest irq level */ | 
|  | 186 | diva_os_board_trace_t board_trace; /* traces from the board */ | 
|  | 187 | diva_os_spin_lock_t isr_spin_lock; | 
|  | 188 | diva_os_spin_lock_t data_spin_lock; | 
|  | 189 | diva_os_soft_isr_t req_soft_isr; | 
|  | 190 | diva_os_soft_isr_t isr_soft_isr; | 
|  | 191 | diva_os_atomic_t  in_dpc; | 
|  | 192 | PBUFFER RBuffer;        /* Copy of receive lookahead buffer */ | 
|  | 193 | word e_max; | 
|  | 194 | word e_count; | 
|  | 195 | E_INFO *e_tbl; | 
|  | 196 | word assign;         /* list of pending ASSIGNs  */ | 
|  | 197 | word head;           /* head of request queue    */ | 
|  | 198 | word tail;           /* tail of request queue    */ | 
|  | 199 | ADAPTER a;             /* not a separate structure */ | 
|  | 200 | void (*out)(ADAPTER *a); | 
|  | 201 | byte (*dpc)(ADAPTER *a); | 
|  | 202 | byte (*tst_irq)(ADAPTER *a); | 
|  | 203 | void (*clr_irq)(ADAPTER *a); | 
|  | 204 | int (*load)(PISDN_ADAPTER); | 
|  | 205 | int (*mapmem)(PISDN_ADAPTER); | 
|  | 206 | int (*chkIrq)(PISDN_ADAPTER); | 
|  | 207 | void (*disIrq)(PISDN_ADAPTER); | 
|  | 208 | void (*start)(PISDN_ADAPTER); | 
|  | 209 | void (*stop)(PISDN_ADAPTER); | 
|  | 210 | void (*rstFnc)(PISDN_ADAPTER); | 
|  | 211 | void (*trapFnc)(PISDN_ADAPTER); | 
|  | 212 | dword (*DetectDsps)(PISDN_ADAPTER); | 
|  | 213 | void (*os_trap_nfy_Fnc)(PISDN_ADAPTER, dword); | 
|  | 214 | diva_os_isr_callback_t diva_isr_handler; | 
|  | 215 | dword sdram_bar;  /* must be 32 bit */ | 
|  | 216 | dword fpga_features; | 
|  | 217 | volatile int pcm_pending; | 
|  | 218 | volatile void *pcm_data; | 
|  | 219 | diva_xdi_capi_cfg_t capi_cfg; | 
|  | 220 | dword tasks; | 
|  | 221 | void *dma_map; | 
|  | 222 | int (*DivaAdapterTestProc)(PISDN_ADAPTER); | 
|  | 223 | void *AdapterTestMemoryStart; | 
|  | 224 | dword AdapterTestMemoryLength; | 
|  | 225 | const byte *cfg_lib_memory_init; | 
|  | 226 | dword cfg_lib_memory_init_length; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 227 | }; | 
|  | 228 | /* --------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 229 | Entity table | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 230 | --------------------------------------------------------------------- */ | 
|  | 231 | struct e_info_s { | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 232 | ENTITY *e; | 
|  | 233 | byte          next;                   /* chaining index           */ | 
|  | 234 | word          assign_ref;             /* assign reference         */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 235 | }; | 
|  | 236 | /* --------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 237 | S-cards shared ram structure for loading | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 238 | --------------------------------------------------------------------- */ | 
|  | 239 | struct s_load { | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 240 | byte ctrl; | 
|  | 241 | byte card; | 
|  | 242 | byte msize; | 
|  | 243 | byte fill0; | 
|  | 244 | word ebit; | 
|  | 245 | word elocl; | 
|  | 246 | word eloch; | 
|  | 247 | byte reserved[20]; | 
|  | 248 | word signature; | 
|  | 249 | byte fill[224]; | 
|  | 250 | byte b[256]; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 251 | }; | 
|  | 252 | #define PR_RAM  ((struct pr_ram *)0) | 
|  | 253 | #define RAM ((struct dual *)0) | 
|  | 254 | /* --------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 255 | platform specific conversions | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 256 | --------------------------------------------------------------------- */ | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 257 | extern void *PTR_P(ADAPTER *a, ENTITY *e, void *P); | 
|  | 258 | extern void *PTR_X(ADAPTER *a, ENTITY *e); | 
|  | 259 | extern void *PTR_R(ADAPTER *a, ENTITY *e); | 
|  | 260 | extern void CALLBACK(ADAPTER *a, ENTITY *e); | 
|  | 261 | extern void set_ram(void **adr_ptr); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 262 | /* --------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 263 | ram access functions for io mapped cards | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 264 | --------------------------------------------------------------------- */ | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 265 | byte io_in(ADAPTER *a, void *adr); | 
|  | 266 | word io_inw(ADAPTER *a, void *adr); | 
|  | 267 | void io_in_buffer(ADAPTER *a, void *adr, void *P, word length); | 
|  | 268 | void io_look_ahead(ADAPTER *a, PBUFFER *RBuffer, ENTITY *e); | 
|  | 269 | void io_out(ADAPTER *a, void *adr, byte data); | 
|  | 270 | void io_outw(ADAPTER *a, void *adr, word data); | 
|  | 271 | void io_out_buffer(ADAPTER *a, void *adr, void *P, word length); | 
|  | 272 | void io_inc(ADAPTER *a, void *adr); | 
|  | 273 | void bri_in_buffer(PISDN_ADAPTER IoAdapter, dword Pos, | 
|  | 274 | void *Buf, dword Len); | 
|  | 275 | int bri_out_buffer(PISDN_ADAPTER IoAdapter, dword Pos, | 
|  | 276 | void *Buf, dword Len, int Verify); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 277 | /* --------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 278 | ram access functions for memory mapped cards | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 279 | --------------------------------------------------------------------- */ | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 280 | byte mem_in(ADAPTER *a, void *adr); | 
|  | 281 | word mem_inw(ADAPTER *a, void *adr); | 
|  | 282 | void mem_in_buffer(ADAPTER *a, void *adr, void *P, word length); | 
|  | 283 | void mem_look_ahead(ADAPTER *a, PBUFFER *RBuffer, ENTITY *e); | 
|  | 284 | void mem_out(ADAPTER *a, void *adr, byte data); | 
|  | 285 | void mem_outw(ADAPTER *a, void *adr, word data); | 
|  | 286 | void mem_out_buffer(ADAPTER *a, void *adr, void *P, word length); | 
|  | 287 | void mem_inc(ADAPTER *a, void *adr); | 
|  | 288 | void mem_in_dw(ADAPTER *a, void *addr, dword *data, int dwords); | 
|  | 289 | void mem_out_dw(ADAPTER *a, void *addr, const dword *data, int dwords); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 290 | /* --------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 291 | functions exported by io.c | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 292 | --------------------------------------------------------------------- */ | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 293 | extern IDI_CALL Requests[MAX_ADAPTER]; | 
|  | 294 | extern void     DIDpcRoutine(struct _diva_os_soft_isr *psoft_isr, | 
|  | 295 | void *context); | 
|  | 296 | extern void     request(PISDN_ADAPTER, ENTITY *); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 297 | /* --------------------------------------------------------------------- | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 298 | trapFn helpers, used to recover debug trace from dead card | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 299 | --------------------------------------------------------------------- */ | 
|  | 300 | typedef struct { | 
| Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 301 | word *buf; | 
|  | 302 | word  cnt; | 
|  | 303 | word  out; | 
|  | 304 | } Xdesc; | 
|  | 305 | extern void dump_trap_frame(PISDN_ADAPTER IoAdapter, byte __iomem *exception); | 
|  | 306 | extern void dump_xlog_buffer(PISDN_ADAPTER IoAdapter, Xdesc *xlogDesc); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 307 | /* --------------------------------------------------------------------- */ | 
|  | 308 | #endif  /* } __DIVA_XDI_COMMON_IO_H_INC__ */ |