#define DECLARE_UNKNOWN_STRUCT(BaseName) \
typedef struct _##BaseName BaseName, *P##BaseName;
-#define DECLARE_UNKNOWN_PROTOTYPE(Name) \
- typedef VOID (*##Name)(VOID);
-
/* ARCnet */
DECLARE_UNKNOWN_STRUCT(ETH_BINDING_INFO);
-DECLARE_UNKNOWN_PROTOTYPE(ETH_ADDRESS_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(ETH_FILTER_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(ETH_DEFERRED_CLOSE)
+typedef VOID (*ETH_ADDRESS_CHANGE)(VOID);
+typedef VOID (*ETH_FILTER_CHANGE)(VOID);
+typedef VOID (*ETH_DEFERRED_CLOSE)(VOID);
typedef struct _ETH_FILTER
{
DECLARE_UNKNOWN_STRUCT(FDDI_FILTER)
-DECLARE_UNKNOWN_PROTOTYPE(FDDI_ADDRESS_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(FDDI_FILTER_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(FDDI_DEFERRED_CLOSE)
+typedef VOID (*FDDI_ADDRESS_CHANGE)(VOID);
+typedef VOID (*FDDI_FILTER_CHANGE)(VOID);
+typedef VOID (*FDDI_DEFERRED_CLOSE)(VOID);
NDIS_STATUS
DECLARE_UNKNOWN_STRUCT(TR_FILTER)
-DECLARE_UNKNOWN_PROTOTYPE(TR_ADDRESS_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(TR_GROUP_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(TR_FILTER_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(TR_DEFERRED_CLOSE)
+typedef VOID (*TR_ADDRESS_CHANGE)(VOID);
+typedef VOID (*TR_GROUP_CHANGE)(VOID);
+typedef VOID (*TR_FILTER_CHANGE)(VOID);
+typedef VOID (*TR_DEFERRED_CLOSE)(VOID);
NDIS_STATUS