1 #ifndef _PPCPRAGMA_AMIPX_H
2 #define _PPCPRAGMA_AMIPX_H
5 #ifndef _PPCINLINE__AMIPX_H
6 #include <powerup/ppcinline/amipx.h>
10 #ifndef POWERUP_PPCLIB_INTERFACE_H
11 #include <powerup/ppclib/interface.h>
14 #ifndef POWERUP_GCCLIB_PROTOS_H
15 #include <powerup/gcclib/powerup_protos.h>
18 #ifndef NO_PPCINLINE_STDARG
19 #define NO_PPCINLINE_STDARG
20 #endif/* SAS C PPC inlines */
22 #ifndef AMIPX_BASE_NAME
23 #define AMIPX_BASE_NAME AMIPX_Library
24 #endif /* !AMIPX_BASE_NAME */
26 #define AMIPX_OpenSocket(socknum) _AMIPX_OpenSocket(AMIPX_BASE_NAME, socknum)
29 _AMIPX_OpenSocket(void *AMIPX_Library
, UWORD socknum
)
32 MyCaos
.M68kCacheMode
= IF_CACHEFLUSHALL
;
33 // MyCaos.M68kStart = NULL;
34 // MyCaos.M68kSize = 0;
35 MyCaos
.PPCCacheMode
= IF_CACHEFLUSHALL
;
36 // MyCaos.PPCStart = NULL;
37 // MyCaos.PPCSize = 0;
38 MyCaos
.d0
=(ULONG
) socknum
;
39 MyCaos
.caos_Un
.Offset
= (-0x1E);
40 MyCaos
.a6
=(ULONG
) AMIPX_Library
;
41 return((WORD
)PPCCallOS(&MyCaos
));
44 #define AMIPX_CloseSocket(socknum) _AMIPX_CloseSocket(AMIPX_BASE_NAME, socknum)
47 _AMIPX_CloseSocket(void *AMIPX_Library
, UWORD socknum
)
50 MyCaos
.M68kCacheMode
= IF_CACHEFLUSHALL
;
51 // MyCaos.M68kStart = NULL;
52 // MyCaos.M68kSize = 0;
53 MyCaos
.PPCCacheMode
= IF_CACHEFLUSHALL
;
54 // MyCaos.PPCStart = NULL;
55 // MyCaos.PPCSize = 0;
56 MyCaos
.d0
=(ULONG
) socknum
;
57 MyCaos
.caos_Un
.Offset
= (-0x24);
58 MyCaos
.a6
=(ULONG
) AMIPX_Library
;
62 #define AMIPX_ListenForPacket(ECB) _AMIPX_ListenForPacket(AMIPX_BASE_NAME, ECB)
65 _AMIPX_ListenForPacket(void *AMIPX_Library
, struct AMIPX_ECB
*ECB
)
68 MyCaos
.M68kCacheMode
= IF_CACHEFLUSHALL
;
69 // MyCaos.M68kStart = NULL;
70 // MyCaos.M68kSize = 0;
71 MyCaos
.PPCCacheMode
= IF_CACHEFLUSHALL
;
72 // MyCaos.PPCStart = NULL;
73 // MyCaos.PPCSize = 0;
74 MyCaos
.a0
=(ULONG
) ECB
;
75 MyCaos
.caos_Un
.Offset
= (-0x2A);
76 MyCaos
.a6
=(ULONG
) AMIPX_Library
;
77 return((WORD
)PPCCallOS(&MyCaos
));
80 #define AMIPX_SendPacket(ECB) _AMIPX_SendPacket(AMIPX_BASE_NAME, ECB)
83 _AMIPX_SendPacket(void *AMIPX_Library
, struct AMIPX_ECB
*ECB
)
86 MyCaos
.M68kCacheMode
= IF_CACHEFLUSHALL
;
87 // MyCaos.M68kStart = NULL;
88 // MyCaos.M68kSize = 0;
89 MyCaos
.PPCCacheMode
= IF_CACHEFLUSHALL
;
90 // MyCaos.PPCStart = NULL;
91 // MyCaos.PPCSize = 0;
92 MyCaos
.a0
=(ULONG
) ECB
;
93 MyCaos
.caos_Un
.Offset
= (-0x30);
94 MyCaos
.a6
=(ULONG
) AMIPX_Library
;
95 return((WORD
)PPCCallOS(&MyCaos
));
98 #define AMIPX_GetLocalAddr(addrarray) _AMIPX_GetLocalAddr(AMIPX_BASE_NAME, addrarray)
101 _AMIPX_GetLocalAddr(void *AMIPX_Library
, UBYTE addrarray
[10])
104 MyCaos
.M68kCacheMode
= IF_CACHEFLUSHALL
;
105 // MyCaos.M68kStart = NULL;
106 // MyCaos.M68kSize = 0;
107 MyCaos
.PPCCacheMode
= IF_CACHEFLUSHALL
;
108 // MyCaos.PPCStart = NULL;
109 // MyCaos.PPCSize = 0;
110 MyCaos
.a0
=(ULONG
) addrarray
;
111 MyCaos
.caos_Un
.Offset
= (-0x36);
112 MyCaos
.a6
=(ULONG
) AMIPX_Library
;
116 #define AMIPX_RelinquishControl() _AMIPX_RelinquishControl(AMIPX_BASE_NAME)
119 _AMIPX_RelinquishControl(void *AMIPX_Library
)
122 MyCaos
.M68kCacheMode
= IF_CACHEFLUSHALL
;
123 // MyCaos.M68kStart = NULL;
124 // MyCaos.M68kSize = 0;
125 MyCaos
.PPCCacheMode
= IF_CACHEFLUSHALL
;
126 // MyCaos.PPCStart = NULL;
127 // MyCaos.PPCSize = 0;
128 MyCaos
.caos_Un
.Offset
= (-0x3C);
129 MyCaos
.a6
=(ULONG
) AMIPX_Library
;
133 #define AMIPX_GetLocalTarget(addrarray, localtarget) _AMIPX_GetLocalTarget(AMIPX_BASE_NAME, addrarray, localtarget)
136 _AMIPX_GetLocalTarget(void *AMIPX_Library
, UBYTE addrarray
[12], UBYTE localtarget
[6])
139 MyCaos
.M68kCacheMode
= IF_CACHEFLUSHALL
;
140 // MyCaos.M68kStart = NULL;
141 // MyCaos.M68kSize = 0;
142 MyCaos
.PPCCacheMode
= IF_CACHEFLUSHALL
;
143 // MyCaos.PPCStart = NULL;
144 // MyCaos.PPCSize = 0;
145 MyCaos
.a0
=(ULONG
) addrarray
;
146 MyCaos
.a1
=(ULONG
) localtarget
;
147 MyCaos
.caos_Un
.Offset
= (-0x42);
148 MyCaos
.a6
=(ULONG
) AMIPX_Library
;
149 return((WORD
)PPCCallOS(&MyCaos
));
152 #endif /* SASC Pragmas */
153 #endif /* !_PPCPRAGMA_AMIGAGUIDE_H */