sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
netdev.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright ps2dev - http://www.ps2dev.org
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
15
#ifndef _NETDEV_H
16
#define _NETDEV_H
17
18
#include <
tamtypes.h
>
19
20
#define sceInetBus_Unknown 0
21
#define sceInetBus_USB 1
22
#define sceInetBus_1394 2
23
#define sceInetBus_PCMCIA 3
24
#define sceInetBus_PSEUDO 4
25
#define sceInetBus_NIC 5
26
27
#define sceInetDevProtVer 2
28
29
#define sceInetDevF_Up 0x0001
30
#define sceInetDevF_Running 0x0002
31
#define sceInetDevF_Broadcast 0x0004
32
#define sceInetDevF_ARP 0x0010
33
#define sceInetDevF_DHCP 0x0020
34
#define sceInetDevF_PPP 0x0040
35
#define sceInetDevF_NIC 0x0080
36
#define sceInetDevF_Error 0x0100
37
#define sceInetDevF_PPPoE 0x0200
38
#define sceInetDevF_Multicast 0x0400
39
40
#define sceInetDevEFP_StartDone 0x00000001
41
#define sceInetDevEFP_PlugOut 0x00000002
42
#define sceInetDevEFP_Recv 0x00000004
43
#define sceInetDevEFP_Error 0x00000010
44
#define sceInetDevEFP_TimeOut 0x00000020
45
#define sceInetDevEFP_InetUse 0xffff0000
46
47
#define sceInetDevDHCP_RelOnStop 0x00000001
48
49
#define sceInetNDCC_GET_THPRI 0x80000000
50
#define sceInetNDCC_SET_THPRI 0x81000000
51
#define sceInetNDCC_GET_IF_TYPE 0x80000100
52
#define sceInetNDCC_GET_RX_PACKETS 0x80010000
53
#define sceInetNDCC_GET_TX_PACKETS 0x80010001
54
#define sceInetNDCC_GET_RX_BYTES 0x80010002
55
#define sceInetNDCC_GET_TX_BYTES 0x80010003
56
#define sceInetNDCC_GET_RX_ERRORS 0x80010004
57
#define sceInetNDCC_GET_TX_ERRORS 0x80010005
58
#define sceInetNDCC_GET_RX_DROPPED 0x80010006
59
#define sceInetNDCC_GET_TX_DROPPED 0x80010007
60
#define sceInetNDCC_GET_RX_BROADCAST_PACKETS 0x80010008
61
#define sceInetNDCC_GET_TX_BROADCAST_PACKETS 0x80010009
62
#define sceInetNDCC_GET_RX_BROADCAST_BYTES 0x8001000a
63
#define sceInetNDCC_GET_TX_BROADCAST_BYTES 0x8001000b
64
#define sceInetNDCC_GET_RX_MULTICAST_PACKETS 0x8001000c
65
#define sceInetNDCC_GET_TX_MULTICAST_PACKETS 0x8001000d
66
#define sceInetNDCC_GET_RX_MULTICAST_BYTES 0x8001000e
67
#define sceInetNDCC_GET_TX_MULTICAST_BYTES 0x8001000f
68
69
#define sceInetNDIFT_GENERIC 0x00000000
70
#define sceInetNDIFT_ETHERNET 0x00000001
71
#define sceInetNDIFT_PPP 0x00000002
72
73
#define sceInetNDCC_GET_MULTICAST 0x80011000
74
#define sceInetNDCC_GET_COLLISIONS 0x80011001
75
#define sceInetNDCC_GET_RX_LENGTH_ER 0x80011002
76
#define sceInetNDCC_GET_RX_OVER_ER 0x80011003
77
#define sceInetNDCC_GET_RX_CRC_ER 0x80011004
78
#define sceInetNDCC_GET_RX_FRAME_ER 0x80011005
79
#define sceInetNDCC_GET_RX_FIFO_ER 0x80011006
80
#define sceInetNDCC_GET_RX_MISSED_ER 0x80011007
81
#define sceInetNDCC_GET_TX_ABORTED_ER 0x80011008
82
#define sceInetNDCC_GET_TX_CARRIER_ER 0x80011009
83
#define sceInetNDCC_GET_TX_FIFO_ER 0x8001100a
84
#define sceInetNDCC_GET_TX_HEARTBEAT_ER 0x8001100b
85
#define sceInetNDCC_GET_TX_WINDOW_ER 0x8001100c
86
#define sceInetNDCC_GET_NEGO_MODE 0x80020000
87
#define sceInetNDCC_SET_NEGO_MODE 0x81020000
88
#define sceInetNDCC_GET_NEGO_STATUS 0x80020001
89
#define sceInetNDCC_GET_LINK_STATUS 0x80030000
90
#define sceInetNDCC_SET_MULTICAST_LIST 0x81040000
91
92
#define sceInetNDNEGO_10 0x0001
93
#define sceInetNDNEGO_10_FD 0x0002
94
#define sceInetNDNEGO_TX 0x0004
95
#define sceInetNDNEGO_TX_FD 0x0008
96
#define sceInetNDNEGO_PAUSE 0x0040
97
#define sceInetNDNEGO_AUTO 0x0080
98
99
typedef
struct
sceInetPkt
100
{
101
struct
sceInetPkt
*forw;
102
struct
sceInetPkt
*back;
103
#ifdef NETDEV_OPAQUE
104
int
reserved[2];
105
#else
106
void
*m_reserved1;
107
void
*m_reserved2;
108
#endif
109
u8 *rp;
110
u8 *wp;
111
} sceInetPkt_t;
112
113
typedef
struct
sceInetPktQ
114
{
115
struct
sceInetPkt
*head;
116
struct
sceInetPkt
*tail;
117
} sceInetPktQ_t;
118
119
typedef
struct
sceInetDevOps
120
{
121
struct
sceInetDevOps
*forw;
122
struct
sceInetDevOps
*back;
123
char
interface[9];
124
char
*module_name;
125
char
*vendor_name;
126
char
*device_name;
127
u8 bus_type;
128
u8 bus_loc[31];
129
u16 prot_ver;
130
u16 impl_ver;
131
void
*priv;
132
int
flags;
133
int
evfid;
134
struct
sceInetPktQ
rcvq;
135
struct
sceInetPktQ
sndq;
136
int (*start)(
void
*priv,
int
flags);
137
int (*stop)(
void
*priv,
int
flags);
138
int (*xmit)(
void
*priv,
int
flags);
139
int (*control)(
void
*priv,
int
code,
void
*ptr,
int
len);
140
unsigned
int
ip_addr;
141
unsigned
int
ip_mask;
142
unsigned
int
broad_addr;
143
unsigned
int
gw_addr;
144
unsigned
int
ns_addr1;
145
int
mtu;
146
u8 hw_addr[16];
147
u8 dhcp_hostname[256];
148
int
dhcp_hostname_len;
149
int
dhcp_flags;
150
void
*reserved[4];
151
unsigned
int
ns_addr2;
152
void
*pppoe_priv;
153
} sceInetDevOps_t;
154
155
extern
int
sceInetRegisterNetDevice(sceInetDevOps_t *ops);
156
extern
int
sceInetUnregisterNetDevice(sceInetDevOps_t *ops);
157
extern
void
*sceInetAllocMem(sceInetDevOps_t *ops,
int
siz);
158
extern
void
sceInetFreeMem(sceInetDevOps_t *ops,
void
*ptr);
159
extern
void
sceInetPktEnQ(sceInetPktQ_t *que, sceInetPkt_t *pkt);
160
extern
sceInetPkt_t *sceInetPktDeQ(sceInetPktQ_t *que);
161
extern
unsigned
int
sceInetRand(
void
);
162
extern
int
sceInetPrintf(
const
char
*fmt, ...);
163
extern
sceInetPkt_t *sceInetAllocPkt(sceInetDevOps_t *ops,
int
siz);
164
extern
void
sceInetFreePkt(sceInetDevOps_t *ops, sceInetPkt_t *pkt);
165
// TODO: sceInetRegisterPPPoE
166
// TODO: sceInetUnregisterPPPoE
167
168
#define netdev_IMPORTS_start DECLARE_IMPORT_TABLE(netdev, 1, 1)
169
#define netdev_IMPORTS_end END_IMPORT_TABLE
170
171
#define I_sceInetRegisterNetDevice DECLARE_IMPORT(4, sceInetRegisterNetDevice)
172
#define I_sceInetUnregisterNetDevice DECLARE_IMPORT(5, sceInetUnregisterNetDevice)
173
#define I_sceInetAllocMem DECLARE_IMPORT(6, sceInetAllocMem)
174
#define I_sceInetFreeMem DECLARE_IMPORT(7, sceInetFreeMem)
175
#define I_sceInetPktEnQ DECLARE_IMPORT(8, sceInetPktEnQ)
176
#define I_sceInetPktDeQ DECLARE_IMPORT(9, sceInetPktDeQ)
177
#define I_sceInetRand DECLARE_IMPORT(10, sceInetRand)
178
#define I_sceInetPrintf DECLARE_IMPORT(11, sceInetPrintf)
179
#define I_sceInetAllocPkt DECLARE_IMPORT(12, sceInetAllocPkt)
180
#define I_sceInetFreePkt DECLARE_IMPORT(13, sceInetFreePkt)
181
#define I_sceInetRegisterPPPoE DECLARE_IMPORT(14, sceInetRegisterPPPoE)
182
#define I_sceInetUnregisterPPPoE DECLARE_IMPORT(15, sceInetUnregisterPPPoE)
183
184
#endif
sceInetDevOps
Definition
netdev.h:120
sceInetPktQ
Definition
netdev.h:114
sceInetPkt
Definition
netdev.h:100
tamtypes.h
core
netman
include
netdev.h
Generated by
1.18.0