⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sicl.h

📁 这个是无线网卡WirelessLAN 测试程序NDIS
💻 H
📖 第 1 页 / 共 3 页
字号:
                      int           src_increment,
                      unsigned long dest_handle,
                      unsigned long dest_offset,
                      int           dest_width,
                      int           dest_increment,
                      unsigned long cnt,
                      int           swap
                     );
   int SICLAPI ivximacro(INST id, ivximacroelem macro[], int size);

/* GP-IB Specific functions */
   int SICLAPI igpibbusstatus (INST id, int request, int _far *result);
   int SICLAPI igpibppoll (INST id, unsigned int _far *result);
   int SICLAPI igpibppollconfig (INST id, int cval);
   int SICLAPI igpibppollresp (INST id, int sval);
   int SICLAPI igpibpassctl (INST id, int busaddr);
   int SICLAPI igpibrenctl (INST id, int ren);
   int SICLAPI igpibatnctl (INST id, int atnval);
   int SICLAPI igpibsendcmd (INST id, char _far *buf, int length);
   int SICLAPI igpibllo (INST id);
   int SICLAPI igpibbusaddr (INST id, int busaddr);
   int SICLAPI igpibgett1delay (INST id, int _far *delay);
   int SICLAPI igpibsett1delay (INST id, int delay);
   int SICLAPI igpibpulseifc (INST id);

/* GPIO Specific functions */
int SICLAPI igpioctrl(INST id,int request,unsigned long setting);
int SICLAPI igpiostat(INST id,int request,unsigned long _far *result);
int SICLAPI igpiosetwidth(INST id,int width);
int SICLAPI igpiogetwidth(INST id,int _far *width);

/* MSIB Specific functions */
int SICLAPI imsibeventmask(INST id,unsigned char mask);
int SICLAPI imsibcmd(INST id,unsigned int cmd,int row,int column,
           char _far *resp,unsigned long bufsize,
           unsigned long _far *actualcnt);
int SICLAPI imsibseterror(INST id,int row,int column,
                char _far *errtext,int errtype,int _far *msiberr);
int SICLAPI imsibclearerror(INST id,int msiberr);
int SICLAPI imsibinfo(INST id,int row,int column,
            struct msibinfo _far *info);
int SICLAPI imsibmodule(INST id,int row,int column,int _far *result);
int SICLAPI imsibsetstb(INST id,unsigned char stb);

/* LAN Specific functions */
int SICLAPI ilantimeout(INST id,long tval);
int SICLAPI ilangettimeout(INST id,long _far *tval);

/* Map routines */
char _far * SICLAPI imap(INST id,int mapspace,unsigned int pagestart,unsigned int pagecnt,char _far *suggested);
int SICLAPI iunmap(INST id,char _far *addr,int mapspace,unsigned int pagestart,unsigned int pagecnt);
int SICLAPI imapinfo(INST id,int mapspace,int _far *numwindows,int _far *winsize);

/* block copy and fifo routines */
int SICLAPI ibblockcopy(INST id, unsigned char _far *src, unsigned char _far *dest,
                unsigned long cnt);
int SICLAPI iwblockcopy(INST id, unsigned short _far *src, unsigned short _far *dest,
                unsigned long cnt, int swap);
int SICLAPI ilblockcopy(INST id, unsigned long _far *src, unsigned long _far *dest,
                unsigned long cnt, int swap);
int SICLAPI ibpushfifo(INST id, unsigned char _far *src, unsigned char _far *fifo,
               unsigned long cnt);
int SICLAPI iwpushfifo(INST id, unsigned short _far *src,unsigned short _far *fifo,
               unsigned long cnt, int swap);
int SICLAPI ilpushfifo(INST id, unsigned long _far *src, unsigned long _far *fifo,
               unsigned long cnt, int swap);
int SICLAPI ibpopfifo(INST id, unsigned char _far *fifo, unsigned char _far *dest,
              unsigned long cnt);
int SICLAPI iwpopfifo(INST id, unsigned short _far *fifo, unsigned short _far *dest,
              unsigned long cnt, int swap);
int SICLAPI ilpopfifo(INST id, unsigned long _far *fifo, unsigned long _far *dest,
              unsigned long cnt, int swap);
int SICLAPI icmd(INST,long,int,int,void _far *); /* Send non-standard commands to driver */
/* These are not standard SICL routines */
#if !defined(STD_SICL)
   int SICLAPI itrace(int level); /* Turn on tracing */
   int SICLAPI isetcscpidata(INST id, void _far *data);
   int SICLAPI igetcscpidata(INST id, void _far * _far *data);
   int SICLAPI isetsig(int sig_val);
   int SICLAPI igetsig(int _far *sig_val);
   int SICLAPI _export _siclcleanup(void); /* process cleanup for Win 3.1*/
   int SICLAPI _export _setsiclyield(int); /* yield option for Win 3.1 */
   int SICLAPI igetblockmode( INST id, short *mode );
#endif

#else /* __STDC__ || __cplusplus || _MS_DOS_WIN || _SICL_WIN32 */
   /* Old C (ie. not ANSI C or C++) */
   /* Version */
   int iversion();
   int idrvrversion();

   /* Open/Close */
   INST iopen();
   int iclose();
   INST igetintfsess();
   
   /* Read/Write */
   int iwrite();
   int iread();
   int itermchr();
   int igettermchr();

/* Formatted I/O */
   int iprintf ();
   int ivprintf ();
   int isprintf ();
   int isvprintf ();

   int iscanf ();
   int ivscanf ();
   int isscanf ();
   int isvscanf ();

   int ipromptf ();
   int ivpromptf ();

   int ifwrite ();
   int ifread ();

   int iflush ();
   int isetbuf ();
   int isetubuf ();
   
   /* Device/Interface Control */
   int iclear();
   int iabort();
   int ilocal ();
   int iremote ();
   int ireadstb();
   int itrigger();
   int ixtrig();
   int ihint();
   
   /* Commander Sessions */
   int isetstb();

   /* Service Requests */
   int ionsrq();
   int igetonsrq();
   
   /* Interrupts */
   int ionintr();
   int igetonintr();
   int isetintr();
   
   /* Asynchronous Events Control */
   int iintroff();
   int iintron();
   int iwaithdlr();
   
   /* Locking */
   int ilock();
   int iunlock();
   int isetlockwait();
   int igetlockwait();
   
   /* Timeouts */
   int itimeout();
   int igettimeout();
   
   /* Misc. Functions */
   int igetaddr();
   int isetdata();
   int igetdata();
   int igetintftype();
   int igetsesstype();
   int igetdevaddr();
   int igetlu();
   int ibeswap();
   int ileswap();
   int iswap();
   int igetlulist();
   int igetluinfo();
   int igetgatewaytype();
   
   /* Error Handling */
   int ionerror();
   int igetonerror();
   void I_ERROR_EXIT();
   void I_ERROR_NO_EXIT();
   int igeterrno ();
   char _far *igeterrstr ();
   void icauseerr ();

/* RS-232 specific functions */
   int iserialmclctrl ();
   int iserialmclstat ();
   int iserialctrl ();
   int iserialstat ();
   int iserialbreak ();

/* VXI Specific functions */
   int ivxibusstatus();
   int ivxiwaitnormop();
   int ivxitrigon();
   int ivxitrigoff();
   int ivxitrigroute();
   int ivxigettrigroute();
   int ivxiws();
   int ivxiservants();
   int ivxirminfo();

#if defined(_MS_DOS_WIN) || defined(_SICL_WIN32)
   void ibpoke();
   void iwpoke();
   void ilpoke();
   unsigned char ibpeek();
   unsigned short iwpeek();
   unsigned long ilpeek();
#endif 

/* GP-IB Specific functions */
   int igpibbusstatus();
   int igpibppoll();
   int igpibppollconfig();
   int igpibppollresp();
   int igpibpassctl();
   int igpibrenctl();
   int igpibatnctl();
   int igpibsendcmd();
   int igpibbusaddr ();
   int igpibllo ();
   int igpibpulseifc ();
   
/* GPIO Specific functions */
   int igpioctrl();
   int igpiostat();
   int igpiosetwidth();
   int igpiogetwidth();

/* MSIB Specific functions */
   int imsibeventmask();
   int imsibcmd();
   int imsibseterror();
   int imsibclearerror();
   int imsibinfo();
   int imsibmodule();
   int imsibsetstb();

/* LAN Specific functions */
   int ilantimeout();
   int ilangettimeout();

   /* Map routines */
   char _far *imap();
   int iunmap();
   int imapinfo();
   int ibblockcopy();
   int iwblockcopy();
   int ilblockcopy();
   int ibpushfifo();
   int iwpushfifo();
   int ilpushfifo();
   int ibpopfifo();
   int iwpopfifo();
   int ilpopfifo();
   
   int icmd();

   /* These are not standard SICL routines */
#if !defined(STD_SICL)
   int itrace();
   int isetcscpidata();
   int igetcscpidata();
   int isetsig();
   int igetsig();
   int igetblockmode();
#endif
   
#endif /* __STDC__ || __cplusplus || _MS_DOS_WIN || _SICL_WIN32 */

#endif /* ! SICL_NOPROTO */

/* Peek/Poke Macros */

#if !defined(_MS_DOS_WIN) && !defined(_SICL_WIN32)
/* Lynx/Fantasia VXI interface needs a FIFO check before the dereference on
 * VXI writes -- BJS
 */
#if defined(_SICL_LYNX_FA)

/* This global (defined and initialized by SICL) is a pointer to the Universe
 * MISC_STAT register.
 */
extern volatile unsigned long *sicl_universe_misc_stat;

/* UNIVERSE_FIFO_WAIT waits until the Universe write FIFO is empty */
#define UNIVERSE_FIFO_WAIT \
   do { \
   } while ((*sicl_universe_misc_stat & 0x00040000L) == 0)

/* In the i*poke macros below, don't even consider removing the outer
 * "do { } while (0)" structure.  This "trick" makes these macros into a
 * single incomplete statement, so they behave like the old i*poke macros.
 */
#define ibpoke(addr,val) \
do { \
   UNIVERSE_FIFO_WAIT; \
   (*(unsigned volatile char *)(addr)) = ((unsigned char)(val)); \
} while (0)

#define iwpoke(addr,val) \
do { \
   UNIVERSE_FIFO_WAIT; \
   (*(unsigned volatile short *)(addr)) = ((unsigned short)(val)); \
} while (0)

#define ilpoke(addr,val) \
do { \
   UNIVERSE_FIFO_WAIT; \
   (*(unsigned volatile long *)(addr)) = ((unsigned long)(val)); \
} while (0)

#define ibpeek(addr) *((unsigned volatile char *)(addr))
#define iwpeek(addr) *((unsigned volatile short *)(addr))
#define ilpeek(addr) *((unsigned volatile long *)(addr))

#else /* ! Lynx/Fantasia */
#define ibpoke(addr,val) (*(unsigned volatile char _far *)(addr))=((unsigned char)(val))
#define iwpoke(addr,val) (*(unsigned volatile short _far *)(addr))=((unsigned short)(val))
#define ilpoke(addr,val) (*(unsigned volatile long _far *)(addr))=((unsigned long)(val))
#define ibpeek(addr) *((unsigned volatile char _far *)(addr))
#define iwpeek(addr) *((unsigned volatile short _far *)(addr))
#define ilpeek(addr) *((unsigned volatile long _far *)(addr))
#endif /* ! Lynx/Fantasia */
#endif /* ! _MS_DOS_WIN */

/* define VXI word serial commands for ivxiws() */
#if defined(I_SICL_VXI) && !defined(STD_SICL)
/* Misc. Word Serial Defines */
#define  WS_BNO_TOP_LVL    0x0100

/* Word Serial Commands */
#define  WS_CMD_ANO     0xc8ff
#define     WS_MASK_ANO    0xffff
#define  WS_CMD_AHL     0xa900
#define     WS_MASK_AHL    0xff00
#define  WS_CMD_AIL     0xaa00
#define     WS_MASK_AIL    0xff00
#define  WS_CMD_AMC     0xa800
#define     WS_MASK_AMC    0xff00
#define  WS_CMD_BNO     0xfcff
#define     WS_MASK_BNO    0xfeff
#define  WS_CMD_BA      0xbc00
#define  WS_CMD_BA_END     0xbd00
#define     WS_MASK_BA     0xfe00
#define  WS_CMD_BR      0xdeff
#define     WS_MASK_BR     0xffff
#define  WS_CMD_CLR     0xffff
#define     WS_MASK_CLR    0xffff
#define  WS_CMD_CL      0xefff
#define     WS_MASK_CL     0xffff
#define  WS_CMD_CE      0xaf00
#define     WS_MASK_CE     0xff00
#define  WS_CMD_ENO     0xc9ff
#define     WS_MASK_ENO    0xffff
#define  WS_CMD_RPE     0xcdff
#define     WS_MASK_RPE    0xffff
#define  WS_CMD_GD      0xbf00
#define     WS_MASK_GD     0xff00
#define  WS_CMD_IC      0xbe00
#define     WS_MASK_IC     0xff00
#define  WS_CMD_RHL     0x8c00
#define     WS_MASK_RHL    0xff00
#define  WS_CMD_RH      0xc7ff   
#define     WS_MASK_RH     0xffff
#define  WS_CMD_RIL     0x8d00
#define     WS_MASK_RIL    0xff00
#define  WS_CMD_RI      0xcaff
#define     WS_MASK_RI     0xffff
#define  WS_CMD_RMOD    0xccff
#define     WS_MASK_RMOD      0xffff
#define  WS_CMD_RP      0xdfff
#define     WS_MASK_RP     0xffff
#define  WS_CMD_RSTB    0xcfff
#define     WS_MASK_RSTB      0xffff
#define  WS_CMD_RSA     0xceff
#define     WS_MASK_RSA    0xffff
#define  WS_CMD_RD      0x8e00
#define     WS_MASK_RD     0xff00
#define  WS_CMD_CR      0x8f00
#define     WS_MASK_CR     0xff00
#define  WS_CMD_SL      0xeeff
#define     WS_MASK_SL     0xffff
#define  WS_CMD_SLMOD      0xae00
#define     WS_MASK_SLMOD     0xff00
#define  WS_CMD_SUMOD      0xad00
#define     WS_MASK_SUMOD     0xff00
#define  WS_CMD_TRIG    0xedff
#define     WS_MASK_TRIG      0xffff
#define  WS_CMD_USER    0x0000
#define     WS_MASK_USER      0x8000

#endif  /* VXI WS support */

/*
 * This is a collection of macros and entry points needed for
 * backwards compatability for SICL.  They are now a collection
 * of non-standard HPIB/GPIB macros.
 */
#if ! defined(STD_SICL)
#define I_SICL_HPIB        /* GP-IB ==> HP-IB */
#define I_INTF_HPIB  I_INTF_GPIB /* GP-IB ==> HP-IB */


#define I_INTR_HPIB_IFC       16
#define I_INTR_HPIB_PPOLLCONFIG     17
#define I_INTR_HPIB_REMLOC    18

#define I_HPIB_BUS_REM     I_GPIB_BUS_REM
#define I_HPIB_BUS_SRQ     I_GPIB_BUS_SRQ
#define I_HPIB_BUS_NDAC    I_GPIB_BUS_NDAC
#define I_HPIB_BUS_SYSCTLR I_GPIB_BUS_SYSCTLR
#define I_HPIB_BUS_ACTCTLR I_GPIB_BUS_ACTCTLR
#define I_HPIB_BUS_TALKER  I_GPIB_BUS_TALKER
#define I_HPIB_BUS_LISTENER   I_GPIB_BUS_LISTENER
#define I_HPIB_BUS_ADDR    I_GPIB_BUS_ADDR

#define ihpibbusstatus     igpibbusstatus
#define ihpibppoll      igpibppoll
#define ihpibppollconfig   igpibppollconfig
#define ihpibpassctl    igpibpassctl
#define ihpibrenctl     igpibrenctl
#define ihpibatnctl     igpibatnctl
#define ihpibsendcmd    igpibsendcmd
#endif

#if defined(__cplusplus)
   };
#endif

#endif /* SICL_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -