📄 bspfuncs.h
字号:
void (*tx_char)(ULONG unit, ULONG isr_flag)); ULONG SerialIntBaud(ULONG channel, void *hdp, ULONG baudrate); void SerialIntRxioff(ULONG channel, void *hdp); void SerialIntRxion(ULONG channel, void *hdp); void SerialIntTxioff(ULONG channel, void *hdp); void SerialIntTxion(ULONG channel, void *hdp); ULONG SerialIntRead(ULONG channel, void *hdp, UCHAR *ch_ptr); ULONG SerialIntWrite(ULONG channel, void *hdp, UCHAR ch); #endif/***********************************************************************//* *//* PC Console Driver *//* *//***********************************************************************/#if BSP_CONSOLE void ConsolePollInit(void);unsigned long ConsolePollConsts(unsigned long typecode);unsigned char ConsolePollConin(void);void ConsolePollConout(unsigned char c); #endif /* BSP_CONSOLE *//***********************************************************************//* *//* Tick Timer Routines *//* *//***********************************************************************/#define BSP_TIMER 1#if BSP_TIMERvoid RtcInit(struct ioparms *p);void Delay100ms(void);#endif /* BSP_TIMER *//***********************************************************************//* *//* Realtime Clock routines *//* *//***********************************************************************/#if BSP_CLOCKvoid CmcRead(struct ioparms *p);void CmcWrite(struct ioparms *p);#endif/***********************************************************************//* *//* Parallel Port routines *//* *//***********************************************************************/#if BSP_PARALLELvoid ParInit(struct ioparms *p);void ParOpen(struct ioparms *p);void ParClose(struct ioparms *p);void ParWrite(struct ioparms *p);#endif/***********************************************************************//* *//* LAN Interface Routines *//* *//***********************************************************************/ long NiLan(ULONG fn_code, nientry *p); long NiLan1(ULONG fn_code, nientry *p); long NiLan2(ULONG fn_code, nientry *p); UCHAR *NiLanSetup(int Nbufs, UCHAR *FreeMem); ULONG GetRarpServerIP(void); void LanStop(void); void LanStop1(void); void LanStop2(void);/***********************************************************************//* *//* Shared Memory Interface Routines *//* *//***********************************************************************/ULONG MemAccessible(volatile void *address);ULONG SafeLongRead(volatile void *address);#if BSP_SMEM /*-----------------------------------------------------------------*/ /* Interrupt Method Data Structure - "method" specifies how a */ /* board should be interrupted to signal the arrival of a shared */ /* memory packet: */ /* 0 : Do not interrupt (board will poll for packets) */ /* 1 : Read a byte from location m1.address in the VMEbus short */ /* I/O space */ /* 2 : Write byte "m2.value" to location m2.address in the */ /* VMEbus short I/O space */ /* 3-127: Reserved - DO NOT USE */ /* 128 - 255: User-defined */ /*-----------------------------------------------------------------*/ typedef struct intr_method { ULONG method; union { struct { ULONG address; } m1; struct { ULONG address; ULONG value; } m2; struct { ULONG address; ULONG value; } m3; } intr; } INTR_METHOD; void SmemIntInit(INTR_METHOD *meth_ptr, ULONG NodeNumber, ULONG (*Isr)(void)); int SmemIntNode(INTR_METHOD *meth_ptr, ULONG TargetNode); void SmemIntClear(void); void *SmemBus2Local(void *BusAddress); void *SmemLocal2Bus(void *LocalAddress); #define SMEM_MAXNODES 8#endif/***********************************************************************//* *//* SCSI Routines *//* *//***********************************************************************/#if BSP_SCSI void SdrvInit(struct ioparms *t); void SdrvCntrl(struct ioparms *t); void SdskWrite(struct ioparms *t); void SdskRead(struct ioparms *t); void SdrvSetup(void); void StapeRead(struct ioparms *); void StapeWrite(struct ioparms *); void StapeOpen(struct ioparms *); void StapeClose(struct ioparms *);#endif/***********************************************************************//* *//* Watchdog Timer routines *//* *//***********************************************************************/#if BSP_WATCHDOG void WdtInit(struct ioparms *t); #endif/***********************************************************************//* *//* High-Level Driver Routines *//* *//***********************************************************************//*#define BSP_SERIAL 4 so defined to avoid "zero or -ve subscript" error*/ /* in chat.c & disi.c */ void uart_init(struct ioparms *t); void uart_open(struct ioparms *t); /*void uart_close(struct ioparms *t); currently not included */ void uart_read(struct ioparms *t); void uart_write(struct ioparms *t); void uart_control(struct ioparms *t);#if BSP_SERIAL UCHAR *TermSetup (UCHAR *FreeMem, ULONG defbaud, USHORT defcons); void TermInit (struct ioparms *t); void TermOpen (struct ioparms *t); void TermClose (struct ioparms *t); void TermRead (struct ioparms *t); void TermWrite (struct ioparms *t); void TermCntrl (struct ioparms *t); UCHAR *CnslSetup(UCHAR *FreeMem, ULONG defbaud, USHORT defcons); void CnslInit(struct ioparms *t); void CnslRead(struct ioparms *t); void CnslWrite(struct ioparms *t); void CnslCntrl(struct ioparms *t);#endif#if BSP_CONSOLEvoid PcCnslInit(struct ioparms *t);void PcCnslRead(struct ioparms *t);void PcCnslWrite(struct ioparms *t);void PcCnslCntrl(struct ioparms *t);#endif#if BSP_LAN1 ULONG RarpEth(long (*NiLanPtr)(ULONG fn_code, nientry *p));#endif#if BSP_SMEM #define NISM_MTU 560 long NiSmem(ULONG function, nientry *p); UCHAR *NiSmemSetup(int Nbufs, UCHAR *FreeMem, int key);#endif/*---------------------------------------------------------------------*//* Routines not dependent on hardware *//*---------------------------------------------------------------------*/void RdskInit(struct ioparms *t);void RdskWrite(struct ioparms *t);void RdskRead(struct ioparms *t);void TftpInit(struct ioparms *iop);void TftpOpen(struct ioparms *iop);void TftpClose(struct ioparms *iop);void TftpRead(struct ioparms *iop);void TftpCntl(struct ioparms *iop);/*---------------------------------------------------------------------*//* pSOS Component callouts *//*---------------------------------------------------------------------*/#define ENTRY_START_OFFSET 0x40#define PSOS_I_ENTER_OFFSET 4#define PSOS_I_RETURN_OFFSET 3/*---------------------------------------------------------------------*//* pMont Component callouts *//*---------------------------------------------------------------------*/void BspPmontCallout(void (*pMIEnter)(), void (*pMIExit)());#define PMONT_I_ENTER_OFFSET 5#define PMONT_I_RETURN_OFFSET 6#define ENTRY_LENGTH 8/*---------------------------------------------------------------------*//* Psedo driver functions *//*---------------------------------------------------------------------*/void PsedoIOInit(struct ioparms *t);void PsedoIORead(struct ioparms *t);void PsedoIOWrite(struct ioparms *t);void PsedoIOCntrl(struct ioparms *t);#endif /* _BSPFUNCS_H */#if defined(__cplusplus)}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -