PS2SDK
PS2 Homebrew Libraries
smap_modular.h
1 
2 #ifndef _SMAP_MODULAR_H
3 #define _SMAP_MODULAR_H
4 
5 #include <tamtypes.h>
6 
7 // This struct needs to be the exact same layout as struct RuntimeStats!
8 typedef struct SmapModularRuntimeStats
9 {
10  u32 RxDroppedFrameCount;
11  u32 RxErrorCount;
12  u16 RxFrameOverrunCount;
13  u16 RxFrameBadLengthCount;
14  u16 RxFrameBadFCSCount;
15  u16 RxFrameBadAlignmentCount;
16  u32 TxDroppedFrameCount;
17  u32 TxErrorCount;
18  u16 TxFrameLOSSCRCount;
19  u16 TxFrameEDEFERCount;
20  u16 TxFrameCollisionCount;
21  u16 TxFrameUnderrunCount;
22  u16 RxAllocFail;
24 
25 typedef struct SmapModularHookTable
26 {
27  int Version;
28  int (*TxPacketNext)(void **data);
29  int (*TxPacketDeQ)(void **data);
30  int (*LinkStateDown)(void);
31  int (*LinkStateUp)(void);
32  void *(*StackAllocRxPacket)(u16 LengthRounded, void **payload);
33  int (*EnQRxPacket)(void *pbuf);
35 
36 typedef struct SmapModularExportTable
37 {
38  int Version;
39  int (*GetMACAddress)(u8 *buffer);
40  void (*Xmit)(void);
41  void (*OutputDebugInformation)(void);
42  int (*RegisterHook)(const SmapModularHookTable_t *hooktbl, int priority);
43  unsigned char *RxBDIndexPtr;
44  SmapModularRuntimeStats_t *RuntimeStatsPtr;
46 
47 extern const SmapModularExportTable_t *SmapModularGetExportTable(void);
48 
49 #define smapmodu_IMPORTS_start DECLARE_IMPORT_TABLE(smapmodu, 1, 1)
50 #define smapmodu_IMPORTS_end END_IMPORT_TABLE
51 
52 #define I_SmapModularGetExportTable DECLARE_IMPORT(4, SmapModularGetExportTable)
53 
54 #endif
SmapModularExportTable
Definition: smap_modular.h:36
SmapModularRuntimeStats
Definition: smap_modular.h:8
SmapModularHookTable
Definition: smap_modular.h:25
tamtypes.h
pbuf
Definition: tcpip.h:229