Browse Source

Documented up to PXENV_UNDI_CLOSE

tags/v0.9.3
Michael Brown 19 years ago
parent
commit
cd9742e054
1 changed files with 60 additions and 0 deletions
  1. 60
    0
      src/include/pxe_api.h

+ 60
- 0
src/include/pxe_api.h View File

655
 
655
 
656
 /** Parameter block for pxenv_undi_cleanup() */
656
 /** Parameter block for pxenv_undi_cleanup() */
657
 struct s_PXENV_UNDI_CLEANUP {
657
 struct s_PXENV_UNDI_CLEANUP {
658
+	PXENV_STATUS_t	Status;		/**< PXE status code */
658
 } PACKED;
659
 } PACKED;
659
 
660
 
660
 typedef struct s_PXENV_UNDI_CLEANUP PXENV_UNDI_CLEANUP_t;
661
 typedef struct s_PXENV_UNDI_CLEANUP PXENV_UNDI_CLEANUP_t;
676
 
677
 
677
 /** Parameter block for pxenv_undi_initialize() */
678
 /** Parameter block for pxenv_undi_initialize() */
678
 struct s_PXENV_UNDI_INITIALIZE {
679
 struct s_PXENV_UNDI_INITIALIZE {
680
+	PXENV_STATUS_t	Status;		/**< PXE status code */
681
+	/** NDIS 2.0 configuration information, or NULL
682
+	 *
683
+	 * This is a pointer to the data structure returned by the
684
+	 * NDIS 2.0 GetProtocolManagerInfo() API call.  The data
685
+	 * structure is documented, in a rather haphazard way, in
686
+	 * section 4-17 of the NDIS 2.0 specification.
687
+	 */
688
+	ADDR32_t ProtocolIni;
689
+	UINT8_t reserved[8];		/**< Must be zero */
679
 } PACKED;
690
 } PACKED;
680
 
691
 
681
 typedef struct s_PXENV_UNDI_INITIALIZE PXENV_UNDI_INITIALIZE_t;
692
 typedef struct s_PXENV_UNDI_INITIALIZE PXENV_UNDI_INITIALIZE_t;
695
 /** PXE API function code for pxenv_undi_reset_adapter() */
706
 /** PXE API function code for pxenv_undi_reset_adapter() */
696
 #define	PXENV_UNDI_RESET_ADAPTER	0x0004
707
 #define	PXENV_UNDI_RESET_ADAPTER	0x0004
697
 
708
 
709
+/** Maximum number of multicast MAC addresses */
710
+#define MAXNUM_MCADDR	8
711
+
712
+/** List of multicast MAC addresses */
713
+struct s_PXENV_UNDI_MCAST_ADDRESS {
714
+	/** Number of multicast MAC addresses */
715
+	UINT16_t MCastAddrCount;
716
+	/** List of up to #MAXNUM_MCADDR multicast MAC addresses */
717
+	MAC_ADDR_t McastAddr[MAXNUM_MCADDR];
718
+} PACKED;
719
+
720
+typedef struct s_PXENV_UNDI_MCAST_ADDRESS PXENV_UNDI_MCAST_ADDRESS_t;
721
+
698
 /** Parameter block for pxenv_undi_reset_adapter() */
722
 /** Parameter block for pxenv_undi_reset_adapter() */
699
 struct s_PXENV_UNDI_RESET_ADAPTER {
723
 struct s_PXENV_UNDI_RESET_ADAPTER {
724
+	PXENV_STATUS_t	Status;		/**< PXE status code */
725
+	/** Multicast MAC addresses */
726
+	struct s_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf;
700
 } PACKED;
727
 } PACKED;
701
 
728
 
702
 typedef struct s_PXENV_UNDI_RESET_ADAPTER PXENV_UNDI_RESET_ADAPTER_t;
729
 typedef struct s_PXENV_UNDI_RESET_ADAPTER PXENV_UNDI_RESET_ADAPTER_t;
718
 
745
 
719
 /** Parameter block for pxenv_undi_shutdown() */
746
 /** Parameter block for pxenv_undi_shutdown() */
720
 struct s_PXENV_UNDI_SHUTDOWN {
747
 struct s_PXENV_UNDI_SHUTDOWN {
748
+	PXENV_STATUS_t	Status;		/**< PXE status code */
721
 } PACKED;
749
 } PACKED;
722
 
750
 
723
 typedef struct s_PXENV_UNDI_SHUTDOWN PXENV_UNDI_SHUTDOWN_t;
751
 typedef struct s_PXENV_UNDI_SHUTDOWN PXENV_UNDI_SHUTDOWN_t;
737
 /** PXE API function code for pxenv_undi_open() */
765
 /** PXE API function code for pxenv_undi_open() */
738
 #define	PXENV_UNDI_OPEN			0x0006
766
 #define	PXENV_UNDI_OPEN			0x0006
739
 
767
 
768
+/** Accept "directed" packets
769
+ *
770
+ * These are packets addresses to either this adapter's MAC address or
771
+ * to any of the configured multicast MAC addresses (see
772
+ * #s_PXENV_UNDI_MCAST_ADDRESS).
773
+ */
774
+#define FLTR_DIRECTED	0x0001
775
+/** Accept broadcast packets */
776
+#define FLTR_BRDCST	0x0002
777
+/** Accept all packets; listen in promiscuous mode */
778
+#define FLTR_PRMSCS	0x0004
779
+/** Accept source-routed packets */
780
+#define FLTR_SRC_RTG	0x0008
781
+
740
 /** Parameter block for pxenv_undi_open() */
782
 /** Parameter block for pxenv_undi_open() */
741
 struct s_PXENV_UNDI_OPEN {
783
 struct s_PXENV_UNDI_OPEN {
784
+	PXENV_STATUS_t	Status;		/**< PXE status code */
785
+	/** Open flags as defined in NDIS 2.0
786
+	 *
787
+	 * This is the OpenOptions field as passed to the NDIS 2.0
788
+	 * OpenAdapter() API call.  It is defined to be "adapter
789
+	 * specific", though 0 is guaranteed to be a valid value.
790
+	 */
791
+	UINT16_t OpenFlag;
792
+	/** Receive packet filter
793
+	 *
794
+	 * This is the bitwise-OR of any of the following flags:
795
+	 * #FLTR_DIRECTED, #FLTR_BRDCST, #FLTR_PRMSCS and
796
+	 * #FLTR_SRC_RTG.
797
+	 */
798
+	UINT16_t PktFilter;
799
+	/** Multicast MAC addresses */
800
+	struct s_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf;
742
 } PACKED;
801
 } PACKED;
743
 
802
 
744
 typedef struct s_PXENV_UNDI_OPEN PXENV_UNDI_OPEN_t;
803
 typedef struct s_PXENV_UNDI_OPEN PXENV_UNDI_OPEN_t;
759
 
818
 
760
 /** Parameter block for pxenv_undi_close() */
819
 /** Parameter block for pxenv_undi_close() */
761
 struct s_PXENV_UNDI_CLOSE {
820
 struct s_PXENV_UNDI_CLOSE {
821
+	PXENV_STATUS_t	Status;		/**< PXE status code */
762
 } PACKED;
822
 } PACKED;
763
 
823
 
764
 typedef struct s_PXENV_UNDI_CLOSE PXENV_UNDI_CLOSE_t;
824
 typedef struct s_PXENV_UNDI_CLOSE PXENV_UNDI_CLOSE_t;

Loading…
Cancel
Save