Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenpxe.h
Go to the documentation of this file.
00001 #ifndef _PXE_ 00002 #define _PXE_ 00003 00004 /* Basic types */ 00005 00006 typedef UINT16 OFF16; 00007 typedef UINT16 PXENV_EXIT; 00008 typedef UINT16 PXENV_STATUS; 00009 typedef UINT16 SEGSEL; 00010 typedef UINT16 UDP_PORT; 00011 typedef UINT32 ADDR32; 00012 00013 #include <pshpack1.h> 00014 00015 #define IP_ADDR_LEN 4 00016 typedef union 00017 { 00018 UINT32 num; 00019 UINT8 array[IP_ADDR_LEN]; 00020 } IP4; 00021 00022 #define MAC_ADDR_LEN 16 00023 typedef UINT8 MAC_ADDR[MAC_ADDR_LEN]; 00024 00025 typedef struct s_SEGDESC 00026 { 00027 UINT16 segment_address; 00028 UINT32 physical_address; 00029 UINT16 seg_size; 00030 } SEGDESC; 00031 00032 typedef struct s_SEGOFF16 00033 { 00034 OFF16 offset; 00035 SEGSEL segment; 00036 } SEGOFF16; 00037 00038 typedef struct s_PXE 00039 { 00040 UINT8 Signature[4]; 00041 UINT8 StructLength; 00042 UINT8 StructCksum; 00043 UINT8 StructRev; 00044 UINT8 reserved1; 00045 SEGOFF16 UNDIROMID; 00046 SEGOFF16 BaseROMID; 00047 SEGOFF16 EntryPointSP; 00048 SEGOFF16 EntryPointESP; 00049 SEGOFF16 StatusCallout; 00050 UINT8 reserved2; 00051 UINT8 SegDescCnt; 00052 SEGSEL FirstSelector; 00053 SEGDESC Stack; 00054 SEGDESC UNDIData; 00055 SEGDESC UNDICode; 00056 SEGDESC UNDICodeWrite; 00057 SEGDESC BC_Data; 00058 SEGDESC BC_Code; 00059 SEGDESC BC_CodeWrite; 00060 } PXE, *PPXE; 00061 00062 /* PXENV structures */ 00063 00064 typedef struct s_PXENV_START_UNDI 00065 { 00066 PXENV_STATUS Status; 00067 UINT16 AX; 00068 UINT16 BX; 00069 UINT16 DX; 00070 UINT16 DI; 00071 UINT16 ES; 00072 } t_PXENV_START_UNDI; 00073 00074 typedef struct s_PXENV_UNDI_STARTUP 00075 { 00076 PXENV_STATUS Status; 00077 } t_PXENV_UNDI_STARTUP; 00078 00079 typedef struct s_PXENV_UNDI_CLEANUP 00080 { 00081 PXENV_STATUS Status; 00082 } t_PXENV_UNDI_CLEANUP; 00083 00084 typedef struct s_PXENV_UNDI_INITIALIZE 00085 { 00086 PXENV_STATUS Status; 00087 ADDR32 ProtocolIni; 00088 UINT8 reserved[8]; 00089 } t_PXENV_UNDI_INITIALIZE; 00090 00091 #define MAXNUM_MCADDR 8 00092 typedef struct s_PXENV_UNDI_MCAST_ADDRESS 00093 { 00094 UINT16 MCastAddrCount; 00095 MAC_ADDR McastAddr[MAXNUM_MCADDR]; 00096 } t_PXENV_UNDI_MCAST_ADDRESS; 00097 00098 typedef struct s_PXENV_UNDI_RESET 00099 { 00100 PXENV_STATUS Status; 00101 t_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf; 00102 } t_PXENV_UNDI_RESET; 00103 00104 typedef struct s_PXENV_UNDI_SHUTDOWN 00105 { 00106 PXENV_STATUS Status; 00107 } t_PXENV_UNDI_SHUTDOWN; 00108 00109 typedef struct s_PXENV_UNDI_OPEN 00110 { 00111 PXENV_STATUS Status; 00112 UINT16 OpenFlag; 00113 UINT16 PktFilter; 00114 #define FLTR_DIRECTED 0x01 00115 #define FLTR_BRDCST 0x02 00116 #define FLTR_PRMSCS 0x04 00117 #define FLTR_SRC_RTG 0x08 00118 00119 t_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf; 00120 } t_PXENV_UNDI_OPEN; 00121 00122 typedef struct s_PXENV_UNDI_CLOSE 00123 { 00124 PXENV_STATUS Status; 00125 } t_PXENV_UNDI_CLOSE; 00126 00127 typedef struct s_PXENV_UNDI_TRANSMIT 00128 { 00129 PXENV_STATUS Status; 00130 UINT8 Protocol; 00131 #define P_UNKNOWN 0 00132 #define P_IP 1 00133 #define P_ARP 2 00134 #define P_RARP 3 00135 00136 UINT8 XmitFlag; 00137 #define XMT_DESTADDR 0x00 00138 #define XMT_BROADCAST 0x01 00139 00140 SEGOFF16 DestAddr; 00141 SEGOFF16 TBD; 00142 UINT32 Reserved[2]; 00143 } t_PXENV_UNDI_TRANSMIT; 00144 00145 #define MAX_DATA_BLKS 8 00146 typedef struct s_PXENV_UNDI_TBD 00147 { 00148 UINT16 ImmedLength; 00149 SEGOFF16 Xmit; 00150 UINT16 DataBlkCount; 00151 struct DataBlk 00152 { 00153 UINT8 TDPtrType; 00154 UINT8 TDRsvdByte; 00155 UINT8 TDDataLen; 00156 SEGOFF16 TDDataPtr; 00157 } DataBlock[MAX_DATA_BLKS]; 00158 } t_PXENV_UNDI_TBD; 00159 00160 typedef struct s_PXENV_UNDI_SET_MCAST_ADDRESS 00161 { 00162 PXENV_STATUS Status; 00163 t_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf; 00164 } t_PXENV_UNDI_SET_MCAST_ADDRESS; 00165 00166 typedef struct s_PXENV_UNDI_SET_STATION_ADDRESS 00167 { 00168 PXENV_STATUS Status; 00169 MAC_ADDR StationAddress; 00170 } t_PXENV_UNDI_SET_STATION_ADDRESS; 00171 00172 typedef struct s_PXENV_UNDI_SET_PACKET_FILTER 00173 { 00174 PXENV_STATUS Status; 00175 UINT8 filter; 00176 } t_PXENV_UNDI_SET_PACKET_FILTER; 00177 00178 typedef struct s_PXENV_UNDI_GET_INFORMATION 00179 { 00180 PXENV_STATUS Status; 00181 UINT16 BaseIo; 00182 UINT16 IntNumber; 00183 UINT16 MaxTranUnit; 00184 UINT16 HwType; 00185 #define ETHER_TYPE 1 00186 #define EXP_ETHER_TYPE 2 00187 #define IEEE_TYPE 3 00188 #define ARCNET_TYPE 4 00189 00190 UINT16 HwAddrLen; 00191 MAC_ADDR CurrentNodeAddress; 00192 MAC_ADDR PermNodeAddress; 00193 SEGSEL ROMAddress; 00194 UINT16 RxBufCt; 00195 UINT16 TxBufCt; 00196 } t_PXENV_UNDI_GET_INFORMATION; 00197 00198 typedef struct s_PXENV_UNDI_GET_STATISTICS 00199 { 00200 PXENV_STATUS Status; 00201 UINT32 XmtGoodFrames; 00202 UINT32 RcvGoodFrames; 00203 UINT32 RcvCRCErrors; 00204 UINT32 RcvResourceErrors; 00205 } t_PXENV_UNDI_GET_STATISTICS; 00206 00207 typedef struct s_PXENV_UNDI_CLEAR_STATISTICS 00208 { 00209 PXENV_STATUS Status; 00210 } t_PXENV_UNDI_CLEAR_STATISTICS; 00211 00212 typedef struct s_PXENV_UNDI_INITIATE_DIAGS 00213 { 00214 PXENV_STATUS Status; 00215 } t_PXENV_UNDI_INITIATE_DIAGS; 00216 00217 typedef struct s_PXENV_UNDI_FORCE_INTERRUPT 00218 { 00219 PXENV_STATUS Status; 00220 } t_PXENV_UNDI_FORCE_INTERRUPT; 00221 00222 typedef struct s_PXENV_UNDI_GET_MCAST_ADDRESS 00223 { 00224 PXENV_STATUS Status; 00225 IP4 InetAddr; 00226 MAC_ADDR MediaAddr; 00227 } t_PXENV_UNDI_GET_MCAST_ADDRESS; 00228 00229 typedef struct s_PXENV_UNDI_GET_NIC_TYPE 00230 { 00231 PXENV_STATUS Status; 00232 UINT8 NicType; 00233 #define PCI_NIC 2 00234 #define PnP_NIC 3 00235 #define CardBus_NIC 4 00236 00237 union 00238 { 00239 struct 00240 { 00241 UINT16 Vendor_ID; 00242 UINT16 Dev_ID; 00243 UINT8 Base_Class; 00244 UINT8 Sub_Class; 00245 UINT8 Prog_Intf; 00246 UINT8 Rev; 00247 UINT16 BusDevFunc; 00248 UINT16 SubVendor_ID; 00249 UINT16 SubDevice_ID; 00250 } pci, cardbus; 00251 struct 00252 { 00253 UINT32 EISA_Dev_ID; 00254 UINT8 Base_Class; 00255 UINT8 Sub_Class; 00256 UINT8 Prog_Intf; 00257 UINT16 CardSelNum; 00258 } pnp; 00259 } info; 00260 } t_PXENV_UNDI_GET_NIC_TYPE; 00261 00262 typedef struct s_PXENV_UNDI_GET_IFACE_INFO 00263 { 00264 PXENV_STATUS Status; 00265 UINT8 IfaceType[16]; 00266 UINT32 LinkSpeed; 00267 UINT32 ServiceFlags; 00268 UINT32 Reserved[4]; 00269 } t_PXENV_UNDI_GET_IFACE_INFO; 00270 00271 typedef struct s_PXENV_UNDI_ISR 00272 { 00273 PXENV_STATUS Status; 00274 UINT16 FuncFlag; 00275 UINT16 BufferLength; 00276 UINT16 FrameLength; 00277 UINT16 FrameHeaderLength; 00278 SEGOFF16 Frame; 00279 UINT8 ProtType; 00280 UINT8 PktType; 00281 } t_PXENV_UNDI_ISR; 00282 00283 #define PXENV_UNDI_ISR_IN_START 1 00284 #define PXENV_UNDI_ISR_IN_PROCESS 2 00285 #define PXENV_UNDI_ISR_IN_GET_NEXT 3 00286 00287 /* One of these will be returned for PXENV_UNDI_ISR_IN_START */ 00288 #define PXENV_UNDI_ISR_OUT_OURS 0 00289 #define PXENV_UNDI_ISR_OUT_NOT_OURS 1 00290 00291 /* One of these will be returned for PXENV_UNDI_ISR_IN_PROCESS and PXENV_UNDI_ISR_IN_GET_NEXT */ 00292 #define PXENV_UNDI_ISR_OUT_DONE 0 00293 #define PXENV_UNDI_ISR_OUT_TRANSMIT 2 00294 #define PXENV_UNDI_ISR_OUT_RECEIVE 3 00295 #define PXENV_UNDI_ISR_OUT_BUSY 4 00296 00297 typedef struct s_PXENV_UNDI_GET_STATE 00298 { 00299 PXENV_STATUS Status; 00300 #define PXE_UNDI_GET_STATE_STARTED 1 00301 #define PXE_UNDI_GET_STATE_INITIALIZED 2 00302 #define PXE_UNDI_GET_STATE_OPENED 3 00303 UINT8 UNDIState; 00304 } t_PXENV_UNDI_GET_STATE; 00305 00306 typedef struct s_PXENV_STOP_UNDI 00307 { 00308 PXENV_STATUS Status; 00309 } t_PXENV_STOP_UNDI; 00310 00311 typedef struct s_PXENV_TFTP_OPEN 00312 { 00313 PXENV_STATUS Status; 00314 IP4 ServerIPAddress; 00315 IP4 GatewayIPAddress; 00316 UINT8 FileName[128]; 00317 UDP_PORT TFTPPort; 00318 UINT16 PacketSize; 00319 } t_PXENV_TFTP_OPEN; 00320 00321 typedef struct s_PXENV_TFTP_CLOSE 00322 { 00323 PXENV_STATUS Status; 00324 } t_PXENV_TFTP_CLOSE; 00325 00326 typedef struct s_PXENV_TFTP_READ 00327 { 00328 PXENV_STATUS Status; 00329 UINT16 PacketNumber; 00330 UINT16 BufferSize; 00331 SEGOFF16 Buffer; 00332 } t_PXENV_TFTP_READ; 00333 00334 typedef struct s_PXENV_TFTP_READ_FILE 00335 { 00336 PXENV_STATUS Status; 00337 UINT8 FileName[128]; 00338 UINT32 BufferSize; 00339 ADDR32 Buffer; 00340 IP4 ServerIPAddress; 00341 IP4 GatewayIPAddress; 00342 IP4 McastIPAddress; 00343 UDP_PORT TFTPClntPort; 00344 UDP_PORT TFTPSvrPort; 00345 UINT16 TFTPOpenTimeOut; 00346 UINT16 TFTPReopenDelay; 00347 } t_PXENV_TFTP_READ_FILE; 00348 00349 typedef struct s_PXENV_TFTP_GET_FSIZE 00350 { 00351 PXENV_STATUS Status; 00352 IP4 ServerIPAddress; 00353 IP4 GatewayIPAddress; 00354 UINT8 FileName[128]; 00355 UINT32 FileSize; 00356 } t_PXENV_TFTP_GET_FSIZE; 00357 00358 typedef struct s_PXENV_UDP_OPEN 00359 { 00360 PXENV_STATUS Status; 00361 IP4 src_ip; 00362 } t_PXENV_UDP_OPEN; 00363 00364 typedef struct s_PXENV_UDP_CLOSE 00365 { 00366 PXENV_STATUS Status; 00367 } t_PXENV_UDP_CLOSE; 00368 00369 typedef struct s_PXENV_UDP_READ 00370 { 00371 PXENV_STATUS Status; 00372 IP4 ip; 00373 IP4 dest_ip; 00374 UDP_PORT s_port; 00375 UDP_PORT d_port; 00376 UINT16 buffer_size; 00377 SEGOFF16 buffer; 00378 } t_PXENV_UDP_READ; 00379 00380 typedef struct s_PXENV_UDP_WRITE 00381 { 00382 PXENV_STATUS Status; 00383 IP4 ip; 00384 IP4 gw; 00385 UDP_PORT src_port; 00386 UDP_PORT dst_port; 00387 UINT16 buffer_size; 00388 SEGOFF16 buffer; 00389 } t_PXENV_UDP_WRITE; 00390 00391 typedef struct s_PXENV_UNLOAD_STACK 00392 { 00393 PXENV_STATUS Status; 00394 UINT8 reserved[10]; 00395 } t_PXENV_UNLOAD_STACK; 00396 00397 typedef struct s_PXENV_GET_CACHED_INFO 00398 { 00399 PXENV_STATUS Status; 00400 UINT16 PacketType; 00401 #define PXENV_PACKET_TYPE_DHCP_DISCOVER 1 00402 #define PXENV_PACKET_TYPE_DHCP_ACK 2 00403 #define PXENV_PACKET_TYPE_CACHED_REPLY 3 00404 UINT16 BufferSize; 00405 SEGOFF16 Buffer; 00406 UINT16 BufferLimit; 00407 } t_PXENV_GET_CACHED_INFO; 00408 00409 typedef struct s_PXENV_START_BASE 00410 { 00411 PXENV_STATUS Status; 00412 } t_PXENV_START_BASE; 00413 00414 typedef struct s_PXENV_STOP_BASE 00415 { 00416 PXENV_STATUS Status; 00417 } t_PXENV_STOP_BASE; 00418 00419 typedef struct bootph 00420 { 00421 UINT8 opcode; 00422 #define BOOTP_REQ 1 00423 #define BOOTP_REP 2 00424 00425 UINT8 Hardware; 00426 UINT8 Hardlen; 00427 UINT8 Gatehops; 00428 UINT32 ident; 00429 UINT16 seconds; 00430 UINT16 Flags; 00431 #define BOOTP_BCAST 0x8000 00432 00433 IP4 cip; 00434 IP4 yip; 00435 IP4 sip; 00436 IP4 gip; 00437 MAC_ADDR CAddr; 00438 UINT8 Sname[64]; 00439 UINT8 bootfile[128]; 00440 union 00441 { 00442 #define BOOTP_DHCPVEND 1024 /* DHCP extended vendor field size */ 00443 UINT8 d[BOOTP_DHCPVEND]; 00444 struct 00445 { 00446 UINT8 magic[4]; 00447 #define VM_RFC1048 0x63825363 00448 UINT32 flags; 00449 UINT8 pad[56]; 00450 } v; 00451 } vendor; 00452 } BOOTPLAYER; 00453 00454 #include <poppack.h> 00455 00456 /* Exit codes returned in AX by a PXENV API service */ 00457 #define PXENV_EXIT_SUCCESS 0x0000 00458 #define PXENV_EXIT_FAILURE 0x0001 00459 00460 /* Generic API status & error codes that are reported by the loader */ 00461 #define PXENV_STATUS_SUCCESS 0x00 00462 #define PXENV_STATUS_FAILURE 0x01 /* General failure */ 00463 #define PXENV_STATUS_BAD_FUNC 0x02 /* Invalid function number */ 00464 #define PXENV_STATUS_UNSUPPORTED 0x03 /* Function is not yet supported */ 00465 #define PXENV_STATUS_KEEP_UNDI 0x04 /* UNDI must not be unloaded from base memory */ 00466 #define PXENV_STATUS_KEEP_ALL 0x05 00467 #define PXENV_STATUS_OUT_OF_RESOURCES 0x06 /* Base code and UNDI must not be unloaded from base memory */ 00468 00469 /* ARP errors (0x10 to 0x1f) */ 00470 #define PXENV_STATUS_ARP_TIMEOUT 0x11 00471 00472 /* Base code state errors */ 00473 #define PXENV_STATUS_UDP_CLOSED 0x18 00474 #define PXENV_STATUS_UDP_OPEN 0x19 00475 #define PXENV_STATUS_TFTP_CLOSED 0x1a 00476 #define PXENV_STATUS_TFTP_OPEN 0x1b 00477 00478 /* BIOS/system errors (0x20 to 0x2f) */ 00479 #define PXENV_STATUS_MCOPY_PROBLEM 0x20 00480 #define PXENV_STATUS_BIS_INTEGRITY_FAILURE 0x21 00481 #define PXENV_STATUS_BIS_VALIDATE_FAILURE 0x22 00482 #define PXENV_STATUS_BIS_INIT_FAILURE 0x23 00483 #define PXENV_STATUS_BIS_SHUTDOWN_FAILURE 0x24 00484 #define PXENV_STATUS_BIS_GBOA_FAILURE 0x25 00485 #define PXENV_STATUS_BIS_FREE_FAILURE 0x26 00486 #define PXENV_STATUS_BIS_GSI_FAILURE 0x27 00487 #define PXENV_STATUS_BIS_BAD_CKSUM 0x28 00488 00489 /* TFTP/MTFTP errors (0x30 to 0x3f) */ 00490 #define PXENV_STATUS_TFTP_CANNOT_ARP_ADDRESS 0x30 00491 #define PXENV_STATUS_TFTP_OPEN_TIMEOUT 0x32 00492 #define PXENV_STATUS_TFTP_UNKNOWN_OPCODE 0x33 00493 #define PXENV_STATUS_TFTP_READ_TIMEOUT 0x35 00494 #define PXENV_STATUS_TFTP_ERROR_OPCODE 0x36 00495 #define PXENV_STATUS_TFTP_CANNOT_OPEN_CONNECTION 0x38 00496 #define PXENV_STATUS_TFTP_CANNOT_READ_FROM_CONNECTION 0x39 00497 #define PXENV_STATUS_TFTP_TOO_MANY_PACKAGES 0x3a 00498 #define PXENV_STATUS_TFTP_FILE_NOT_FOUND 0x3b 00499 #define PXENV_STATUS_TFTP_ACCESS_VIOLATION 0x3c 00500 #define PXENV_STATUS_TFTP_NO_MCAST_ADDRESS 0x3d 00501 #define PXENV_STATUS_TFTP_NO_FILESIZE 0x3e 00502 #define PXENV_STATUS_TFTP_INVALID_PACKET_SIZE 0x3f 00503 00504 /* Reserved errors (0x40 to 0x4f) */ 00505 00506 /* DHCP/BOOTP errors (0x50 to 0x5f) */ 00507 #define PXENV_STATUS_DHCP_TIMEOUT 0x51 00508 #define PXENV_STATUS_DHCP_NO_IP_ADDRESS 0x52 00509 #define PXENV_STATUS_DHCP_NO_BOOTFILE_NAME 0x53 00510 #define PXENV_STATUS_DHCP_BAD_IP_ADDRESS 0x54 00511 00512 /* Driver errors (0x60 to 0x6f) */ 00513 /* These errors are for UNDI compatible NIC drivers */ 00514 #define PXENV_STATUS_UNDI_INVALID_FUNCTION 0x60 00515 #define PXENV_STATUS_UNDI_MEDIATEST_FAILED 0x61 00516 #define PXENV_STATUS_UNDI_CANNOT_INIT_NIC_FOR_MCAST 0x62 00517 #define PXENV_STATUS_UNDI_CANNOT_INITIALIZE_NIC 0x63 00518 #define PXENV_STATUS_UNDI_CANNOT_INITIALIZE_PHY 0x64 00519 #define PXENV_STATUS_UNDI_CANNOT_READ_CONFIG_DATA 0x65 00520 #define PXENV_STATUS_UNDI_CANNOT_READ_INIT_DATA 0x66 00521 #define PXENV_STATUS_UNDI_BAD_MAC_ADDRESS 0x67 00522 #define PXENV_STATUS_UNDI_BAD_EEPROM_CHECKSUM 0x68 00523 #define PXENV_STATUS_UNDI_ERROR_SETTING_ISR 0x69 00524 #define PXENV_STATUS_UNDI_INVALID_STATE 0x6a 00525 #define PXENV_STATUS_UNDI_TRANSMIT_ERROR 0x6b 00526 #define PXENV_STATUS_UNDI_INVALID_PARAMETER 0x6c 00527 00528 /* ROM and NBP bootstrap errors (0x70 to 0x7f) */ 00529 #define PXENV_STATUS_BSTRAP_PROMPT_MENU 0x74 00530 #define PXENV_STATUS_BSTRAP_MCAST_ADDR 0x76 00531 #define PXENV_STATUS_BSTRAP_MISSING_LIST 0x77 00532 #define PXENV_STATUS_BSTRAP_NO_RESPONSE 0x78 00533 #define PXENV_STATUS_BSTRAP_FILE_TOO_BIG 0x79 00534 00535 /* Environment NBP errors (0x80 to 0x8f) */ 00536 00537 /* Reserved errors (0x90 to 0x9f) */ 00538 00539 /* Misc. errors (0xa0 to 0xaf) */ 00540 #define PXENV_STATUS_BINL_CANCELED_BY_KEYSTROKE 0xa0 00541 #define PXENV_STATUS_BINL_NO_PXE_SERVER 0xa1 00542 #define PXENV_STATUS_NOT_AVAILABLE_IN_PMODE 0xa2 00543 #define PXENV_STATUS_NOT_AVAILABLE_IN_RMODE 0xa3 00544 00545 /* BUSD errors (0xb0 to 0xbf) */ 00546 #define PXENV_STATUS_BUSD_DEVICE_NOT_SUPPORTED 0xb0 00547 00548 /* Loader errors (0xc0 to 0xcf) */ 00549 #define PXENV_STATUS_LOADER_NO_FREE_BASE_MEMORY 0xc0 00550 #define PXENV_STATUS_LOADER_NO_BC_ROMID 0xc1 00551 #define PXENV_STATUS_LOADER_BAD_BC_ROMID 0xc2 00552 #define PXENV_STATUS_LOADER_BAD_BC_RUNTIME_IMAGE 0xc3 00553 #define PXENV_STATUS_LOADER_NO_UNDI_ROMID 0xc4 00554 #define PXENV_STATUS_LOADER_BAD_UNDI_ROMID 0xc5 00555 #define PXENV_STATUS_LOADER_BAD_UNDI_DRIVER_IMAGE 0xc6 00556 #define PXENV_STATUS_LOADER_NO_PXE_STRUCT 0xc8 00557 #define PXENV_STATUS_LOADER_NO_PXENV_STRUCT 0xc9 00558 #define PXENV_STATUS_LOADER_UNDI_START 0xca 00559 #define PXENV_STATUS_LOADER_BC_START 0xcb 00560 00561 /* Vendor errors (0xd0 to 0xff) */ 00562 00563 /* PXENV API services */ 00564 #define PXENV_START_UNDI 0x00 00565 #define PXENV_UNDI_STARTUP 0x01 00566 #define PXENV_UNDI_CLEANUP 0x02 00567 #define PXENV_UNDI_INITIALIZE 0x03 00568 #define PXENV_UNDI_RESET_ADAPTER 0x04 00569 #define PXENV_UNDI_SHUTDOWN 0x05 00570 #define PXENV_UNDI_OPEN 0x06 00571 #define PXENV_UNDI_CLOSE 0x07 00572 #define PXENV_UNDI_TRANSMIT 0x08 00573 #define PXENV_UNDI_SET_MCAST_ADDRESS 0x09 00574 #define PXENV_UNDI_SET_STATION_ADDRESS 0x0a 00575 #define PXENV_UNDI_SET_PACKET_FILTER 0x0b 00576 #define PXENV_UNDI_GET_INFORMATION 0x0c 00577 #define PXENV_UNDI_GET_STATISTICS 0x0d 00578 #define PXENV_UNDI_CLEAR_STATISTICS 0x0e 00579 #define PXENV_UNDI_INITIATE_DIAGS 0x0f 00580 #define PXENV_UNDI_FORCE_INTERRUPT 0x10 00581 #define PXENV_UNDI_GET_MCAST_ADDRESS 0x11 00582 #define PXENV_UNDI_GET_NIC_TYPE 0x12 00583 #define PXENV_UNDI_GET_IFACE_INFO 0x13 00584 #define PXENV_UNDI_ISR 0x14 00585 #define PXENV_UNDI_GET_STATE 0x15 00586 #define PXENV_STOP_UNDI 0x15 00587 #define PXENV_TFTP_OPEN 0x20 00588 #define PXENV_TFTP_CLOSE 0x21 00589 #define PXENV_TFTP_READ 0x22 00590 #define PXENV_TFTP_READ_FILE 0x23 00591 #define PXENV_TFTP_GET_FSIZE 0x25 00592 #define PXENV_UDP_OPEN 0x30 00593 #define PXENV_UDP_CLOSE 0x31 00594 #define PXENV_UDP_READ 0x32 00595 #define PXENV_UDP_WRITE 0x33 00596 #define PXENV_UNLOAD_STACK 0x70 00597 #define PXENV_GET_CACHED_INFO 0x71 00598 #define PXENV_RESTART_TFTP 0x73 00599 #define PXENV_START_BASE 0x75 00600 #define PXENV_STOP_BASE 0x76 00601 00602 #endif Generated on Sun May 27 2012 04:19:13 for ReactOS by
1.7.6.1
|