| #include <Copyright.h> |
| |
| /******************************************************************************** |
| * msApiWince.h |
| * |
| * DESCRIPTION: |
| * Wince Application need to include only this header file. |
| * |
| * DEPENDENCIES: None |
| * |
| * FILE REVISION NUMBER: |
| * |
| *******************************************************************************/ |
| |
| #ifndef __msApiFunc_h |
| #define __msApiFunc_h |
| |
| #include "msApiDefs.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef GT_STATUS (*FGT_PRT_ATUSIZE)(ATU_SIZE); |
| typedef GT_STATUS (*FGT_PRT_U32_U32)(GT_U32*,GT_U32*); |
| typedef GT_STATUS (*FGT_VALUE_U32)(GT_U32); |
| typedef GT_STATUS (*FGT_PTR_U32)(GT_U32*); |
| typedef GT_STATUS (*FGT_PTR_U16)(GT_U16*); |
| typedef GT_STATUS (*FGT_PTR_U32_U32_U32)(GT_U32,GT_U32,GT_U32*); |
| typedef GT_STATUS (*FGT_PTR_ATUENTRY)(GT_ATU_ENTRY*); |
| typedef GT_STATUS (*FGT_PTR_ATUENTRY_BOOL)(GT_ATU_ENTRY*, GT_BOOL*); |
| typedef GT_STATUS (*FGT_VALUE_FLUSHCMD)(GT_FLUSH_CMD); |
| typedef GT_STATUS (*FGT_PTR_ETHERADDR)(GT_ETHERADDR*); |
| typedef GT_STATUS (*FGT_PTR_BOOL)(GT_BOOL*); |
| typedef GT_STATUS (*FGT_VALUE_BOOL)(GT_BOOL); |
| typedef GT_STATUS (*FGT_VALUE_PORT_STPSTATE)(GT_LPORT,GT_PORT_STP_STATE); |
| typedef GT_STATUS (*FGT_PTR_PORT_STPSTATE)(GT_LPORT,GT_PORT_STP_STATE*); |
| typedef GT_STATUS (*FGT_VALUE_PORT_EGRESSMODE)(GT_LPORT,GT_EGRESS_MODE); |
| typedef GT_STATUS (*FGT_PTR_PORT_EGRESSMODE)(GT_LPORT,GT_EGRESS_MODE*); |
| typedef GT_STATUS (*FGT_VALUE_PORT_BOOL)(GT_LPORT,GT_BOOL); |
| typedef GT_STATUS (*FGT_PTR_PORT_BOOL)(GT_LPORT,GT_BOOL*); |
| typedef GT_STATUS (*FGT_VALUE_PORT_PORTS_U8)(GT_LPORT,GT_LPORT*,GT_U8); |
| typedef GT_STATUS (*FGT_PTR_PORT_PORTS_U8)(GT_LPORT,GT_LPORT*,GT_U8*); |
| typedef GT_STATUS (*FGT_VALUE_PORT_U16)(GT_LPORT,GT_U16); |
| typedef GT_STATUS (*FGT_PTR_PORT_U16)(GT_LPORT,GT_U16*); |
| typedef GT_STATUS (*FGT_VALUE_PORT_AUTOMODE)(GT_LPORT,GT_PHY_AUTO_MODE); |
| |
| typedef GT_STATUS (*FGT_VALUE_PORT)(GT_LPORT); |
| typedef GT_STATUS (*FGT_VALUE_U8)(GT_U8); |
| typedef GT_STATUS (*FGT_PTR_U8)(GT_U8*); |
| typedef GT_STATUS (*FGT_VALUE_PORT_U8)(GT_LPORT,GT_U8); |
| typedef GT_STATUS (*FGT_PTR_PORT_U8)(GT_LPORT,GT_U8*); |
| typedef GT_STATUS (*FGT_VALUE_PORT_INGRESSMODE)(GT_LPORT,GT_INGRESS_MODE); |
| typedef GT_STATUS (*FGT_PTR_PORT_INGRESSMODE)(GT_LPORT,GT_INGRESS_MODE*); |
| typedef GT_STATUS (*FGT_VALUE_PORT_MCRATE)(GT_LPORT,GT_MC_RATE); |
| typedef GT_STATUS (*FGT_PTR_PORT_MCRATE)(GT_LPORT,GT_MC_RATE*); |
| typedef GT_STATUS (*FGT_VALUE_CTRMODE)(GT_CTR_MODE); |
| typedef GT_STATUS (*FGT_PTR_CTRMODE)(GT_CTR_MODE*); |
| typedef GT_STATUS (*FGT_VOID)(void); |
| typedef GT_STATUS (*FGT_PTR_PORT_PORTSTAT)(GT_LPORT,GT_PORT_STAT*); |
| typedef GT_STATUS (*FGT_VALUE_U8_U8)(GT_U8,GT_U8); |
| typedef GT_STATUS (*FGT_PTR_U8_U8)(GT_U8,GT_U8*); |
| typedef GT_STATUS (*FGT_PTR_CONFIG_INFO)(GT_SYS_CONFIG*,GT_SYS_INFO*); |
| typedef GT_STATUS (*FGT_PTR_VERSION)(GT_VERSION*); |
| typedef GT_STATUS (*FGT_PTR_REGISTER)(BSP_FUNCTIONS*); |
| typedef GT_STATUS (*FGT_PTR_INT_HANDLER)(FGT_INT_HANDLER*); |
| |
| typedef GT_STATUS (*FGT_PTR_U32_U32_U16)(GT_U32,GT_U32,GT_U16); |
| |
| |
| extern FGT_PRT_ATUSIZE gfdbSetAtuSize; |
| extern FGT_PRT_U32_U32 gfdbGetAgingTimeRange; |
| extern FGT_VALUE_U32 gfdbSetAgingTimeout; |
| extern FGT_PTR_U32 gfdbGetAtuDynamicCount; |
| extern FGT_PTR_ATUENTRY gfdbGetAtuEntryFirst; |
| extern FGT_PTR_ATUENTRY gfdbGetAtuEntryNext; |
| extern FGT_PTR_ATUENTRY_BOOL gfdbFindAtuMacEntry; |
| extern FGT_VALUE_FLUSHCMD gfdbFlush; |
| extern FGT_PTR_ATUENTRY gfdbAddMacEntry; //liane |
| extern FGT_PTR_ETHERADDR gfdbDelMacEntry; |
| extern FGT_VALUE_BOOL gfdbLearnEnable; |
| extern FGT_VALUE_BOOL gstpSetMode; |
| extern FGT_VALUE_PORT_STPSTATE gstpSetPortState; |
| extern FGT_PTR_PORT_STPSTATE gstpGetPortState; |
| extern FGT_VALUE_PORT_EGRESSMODE gprtSetEgressMode; |
| extern FGT_PTR_PORT_EGRESSMODE gprtGetEgressMode; |
| extern FGT_VALUE_PORT_BOOL gprtSetVlanTunnel; |
| extern FGT_PTR_PORT_BOOL gprtGetVlanTunnel; |
| extern FGT_VALUE_PORT_PORTS_U8 gvlnSetPortVlanPorts; |
| extern FGT_PTR_PORT_PORTS_U8 gvlnGetPortVlanPorts; |
| extern FGT_VALUE_PORT_BOOL gvlnSetPortUserPriLsb; |
| extern FGT_PTR_PORT_BOOL gvlnGetPortUserPriLsb; |
| extern FGT_VALUE_PORT_U16 gvlnSetPortVid; |
| extern FGT_PTR_PORT_U16 gvlnGetPortVid; |
| extern FGT_VALUE_U32 eventSetActive; |
| extern FGT_PTR_U16 eventGetIntStatus; |
| extern FGT_VALUE_PORT gprtPhyReset; |
| extern FGT_VALUE_PORT_BOOL gprtSetPortLoopback; |
| extern FGT_VALUE_PORT_BOOL gprtSetPortSpeed; |
| extern FGT_VALUE_PORT_BOOL gprtPortAutoNegEnable; |
| extern FGT_VALUE_PORT_BOOL gprtPortPowerDown; |
| extern FGT_VALUE_PORT gprtPortRestartAutoNeg; |
| extern FGT_VALUE_PORT_BOOL gprtSetPortDuplexMode; |
| extern FGT_VALUE_PORT_AUTOMODE gprtSetPortAutoMode; |
| extern FGT_VALUE_PORT_BOOL gprtSetPause; |
| extern FGT_VALUE_PORT_U16 gprtPhyIntEnable; |
| extern FGT_PTR_PORT_U16 gprtGetPhyIntStatus; |
| extern FGT_PTR_U16 gprtGetPhyIntPortSummary; |
| extern FGT_VALUE_PORT_BOOL gprtSetForceFc; |
| extern FGT_PTR_PORT_BOOL gprtGetForceFc; |
| extern FGT_VALUE_PORT_BOOL gprtSetTrailerMode; |
| extern FGT_PTR_PORT_BOOL gprtGetTrailerMode; |
| extern FGT_VALUE_PORT_INGRESSMODE gprtSetIngressMode; |
| extern FGT_PTR_PORT_INGRESSMODE gprtGetIngressMode; |
| extern FGT_VALUE_PORT_MCRATE gprtSetMcRateLimit; |
| extern FGT_PTR_PORT_MCRATE gprtGetMcRateLimit; |
| extern FGT_VALUE_CTRMODE gprtSetCtrMode; |
| extern FGT_VOID gprtClearAllCtr; |
| extern FGT_PTR_PORT_PORTSTAT gprtGetPortCtr; |
| extern FGT_PTR_PORT_BOOL gprtGetPartnerLinkPause; |
| extern FGT_PTR_PORT_BOOL gprtGetSelfLinkPause; |
| extern FGT_PTR_PORT_BOOL gprtGetResolve; |
| extern FGT_PTR_PORT_BOOL gprtGetLinkState; |
| extern FGT_PTR_PORT_BOOL gprtGetPortMode; |
| extern FGT_PTR_PORT_BOOL gprtGetPhyMode; |
| extern FGT_PTR_PORT_BOOL gprtGetDuplex; |
| extern FGT_PTR_PORT_BOOL gprtGetSpeed; |
| extern FGT_VALUE_PORT_U8 gcosSetPortDefaultTc; |
| extern FGT_VALUE_PORT_BOOL gqosSetPrioMapRule; |
| extern FGT_PTR_PORT_BOOL gqosGetPrioMapRule; |
| extern FGT_VALUE_PORT_BOOL gqosIpPrioMapEn; |
| extern FGT_PTR_PORT_BOOL gqosGetIpPrioMapEn; |
| extern FGT_VALUE_PORT_BOOL gqosUserPrioMapEn; |
| extern FGT_PTR_PORT_BOOL gqosGetUserPrioMapEn; |
| extern FGT_PTR_U8_U8 gcosGetUserPrio2Tc; |
| extern FGT_VALUE_U8_U8 gcosSetUserPrio2Tc; |
| extern FGT_PTR_U8_U8 gcosGetDscp2Tc; |
| extern FGT_VALUE_U8_U8 gcosSetDscp2Tc; |
| extern FGT_PTR_CONFIG_INFO sysConfig; |
| extern FGT_VOID sysEnable; |
| extern FGT_VOID gsysSwReset; |
| extern FGT_VALUE_BOOL gsysSetDiscardExcessive; |
| extern FGT_PTR_BOOL gsysGetDiscardExcessive; |
| extern FGT_VALUE_BOOL gsysSetSchedulingMode; |
| extern FGT_PTR_BOOL gsysGetSchedulingMode; |
| extern FGT_VALUE_BOOL gsysSetMaxFrameSize; |
| extern FGT_PTR_BOOL gsysGetMaxFrameSize; |
| extern FGT_VOID gsysReLoad; |
| extern FGT_VALUE_BOOL gsysSetWatchDog; |
| extern FGT_PTR_BOOL gsysGetWatchDog; |
| extern FGT_PTR_ETHERADDR gsysSetDuplexPauseMac; |
| extern FGT_PTR_ETHERADDR gsysGetDuplexPauseMac; |
| extern FGT_VALUE_BOOL gsysSetPerPortDuplexPauseMac; |
| extern FGT_PTR_BOOL gsysGetPerPortDuplexPauseMac; |
| extern FGT_PTR_U32_U32_U32 gsysReadMiiReg; |
| extern FGT_PTR_VERSION gtVersion; |
| extern FGT_PTR_REGISTER gtRegister; |
| |
| extern FGT_PTR_U32_U32_U16 gsysWriteMiiReg; |
| |
| /* |
| * This function will get the all the MS APIs and assign to local function pointers. |
| */ |
| int qdGetMSApiFunc(); |
| |
| GT_U32 gtStrlen |
| ( |
| IN const void * source |
| ); |
| |
| //***************************************************************************** |
| // I O C T L S |
| //***************************************************************************** |
| #include "windev.h" |
| |
| typedef struct _GT_IOCTL_PARAM |
| { |
| union |
| { |
| GT_LPORT portList[8]; |
| GT_LPORT port; |
| GT_U8 u8Data; |
| GT_U16 u16Data; |
| GT_U32 u32Data; |
| GT_BOOL boolData; |
| |
| GT_CTR_MODE ctrMode; |
| GT_PORT_STP_STATE stpState; |
| GT_EGRESS_MODE egressMode; |
| GT_INGRESS_MODE ingressMode; |
| GT_MC_RATE mcRate; |
| GT_PORT_STAT portStat; |
| ATU_SIZE atuSize; |
| GT_FLUSH_CMD flushCmd; |
| |
| GT_ATU_ENTRY atuEntry; |
| GT_ETHERADDR etherAddr; |
| GT_SYS_CONFIG sysConfig; |
| GT_SYS_INFO sysInfo; |
| |
| } FirstParam; |
| |
| union |
| { |
| GT_LPORT port; |
| GT_LPORT portList[8]; |
| GT_U8 u8Data; |
| GT_U16 u16Data; |
| GT_U32 u32Data; |
| GT_BOOL boolData; |
| GT_PORT_STP_STATE stpState; |
| GT_EGRESS_MODE egressMode; |
| GT_INGRESS_MODE ingressMode; |
| GT_MC_RATE mcRate; |
| |
| GT_PORT_STAT portStat; |
| |
| GT_PHY_AUTO_MODE phyAutoMode; |
| |
| } SecondParam; |
| |
| union |
| { |
| GT_U8 u8Data; |
| GT_U16 u16Data; |
| GT_U32 u32Data; |
| |
| } ThirdParam; |
| |
| } GT_IOCTL_PARAM, *PGT_IOCTL_PARAM; |
| |
| #define GET_FUNC_FROM_CTL_CODE(_ioctl) ((_ioctl>>2) & 0xFFF) |
| |
| /* |
| Microsoft allows for us to use 0x800 ~ 0xFFF |
| So, our program is using 6 bits for function group, |
| and 6 bits for each function. |
| */ |
| #define SUB_FUNC_MASK 0xFC0 |
| #define SYS_CFG_FUNC_MASK (1 << 6) | 0x800 |
| #define SYS_CTRL_FUNC_MASK (2 << 6) | 0x800 |
| #define FDB_FUNC_MASK (3 << 6) | 0x800 |
| #define VLAN_FUNC_MASK (4 << 6) | 0x800 |
| #define STP_FUNC_MASK (5 << 6) | 0x800 |
| #define PORT_CTRL_FUNC_MASK (6 << 6) | 0x800 |
| #define PORT_STATUS_FUNC_MASK (7 << 6) | 0x800 |
| #define PORT_STATS_FUNC_MASK (8 << 6) | 0x800 |
| #define QOS_FUNC_MASK (9 << 6) | 0x800 |
| #define PHY_CTRL_FUNC_MASK (10 << 6) | 0x800 |
| #define SYS_EVENT_FUNC_MASK (11 << 6) | 0x800 |
| #define PHY_INT_FUNC_MASK (12 << 6) | 0x800 |
| |
| /* |
| Functions for SYS Configuration |
| */ |
| #define IOCTL_sysConfig \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CFG_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysReadMiiReg \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CFG_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysWriteMiiReg \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CFG_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gtVersion \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CFG_FUNC_MASK + 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| /* |
| Functions for ATU |
| */ |
| #define IOCTL_gfdbSetAtuSize \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbGetAgingTimeRange \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbSetAgingTimeout \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbGetAtuDynamicCount \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbGetAtuEntryFirst \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 4, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbGetAtuEntryNext \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 5, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbFindAtuMacEntry \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 6, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbFlush \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 7, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbAddMacEntry \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 8, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbDelMacEntry \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 9, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gfdbLearnEnable \ |
| CTL_CODE(FILE_DEVICE_NETWORK , FDB_FUNC_MASK + 10, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| |
| /* |
| Functions for STP |
| */ |
| #define IOCTL_gstpSetMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , STP_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gstpSetPortState \ |
| CTL_CODE(FILE_DEVICE_NETWORK , STP_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gstpGetPortState \ |
| CTL_CODE(FILE_DEVICE_NETWORK , STP_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| /* |
| Functions for VLAN |
| */ |
| #define IOCTL_gprtSetEgressMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetEgressMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetVlanTunnel \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetVlanTunnel \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gvlnSetPortVlanPorts \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 4, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gvlnGetPortVlanPorts \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 5, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gvlnSetPortUserPriLsb \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 6, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gvlnGetPortUserPriLsb \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 7, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gvlnSetPortVid \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 8, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gvlnGetPortVid \ |
| CTL_CODE(FILE_DEVICE_NETWORK , VLAN_FUNC_MASK + 9, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| /* |
| Functions for System Event |
| */ |
| #define IOCTL_eventSetActive \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_EVENT_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_eventGetIntStatus \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_EVENT_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| /* |
| Functions for Phy Control |
| */ |
| #define IOCTL_gprtPhyReset \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetPortLoopback \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetPortSpeed \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtPortAutoNegEnable \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtPortPowerDown \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 4, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtPortRestartAutoNeg \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 5, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetPortDuplexMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 6, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetPortAutoMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 7, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetPause \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_CTRL_FUNC_MASK + 8, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| |
| /* |
| Functions for Phy Interrupt |
| */ |
| #define IOCTL_gprtPhyIntEnable \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_INT_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetPhyIntStatus \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_INT_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetPhyIntPortSummary \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PHY_INT_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| /* |
| Functions for Port Control |
| */ |
| #define IOCTL_gprtSetForceFc \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_CTRL_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetForceFc \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_CTRL_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetTrailerMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_CTRL_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetTrailerMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_CTRL_FUNC_MASK + 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetIngressMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_CTRL_FUNC_MASK + 4, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetIngressMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_CTRL_FUNC_MASK + 5, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtSetMcRateLimit \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_CTRL_FUNC_MASK + 6, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetMcRateLimit \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_CTRL_FUNC_MASK + 7, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| |
| /* |
| Functions for Port Statistics |
| */ |
| #define IOCTL_gprtSetCtrMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATS_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtClearAllCtr \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATS_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetPortCtr \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATS_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| /* |
| Functions for Port Status |
| */ |
| #define IOCTL_gprtGetPartnerLinkPause \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATUS_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetSelfLinkPause \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATUS_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetResolve \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATUS_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetLinkState \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATUS_FUNC_MASK + 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetPortMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATUS_FUNC_MASK + 4, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetPhyMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATUS_FUNC_MASK + 5, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetDuplex \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATUS_FUNC_MASK + 6, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gprtGetSpeed \ |
| CTL_CODE(FILE_DEVICE_NETWORK , PORT_STATUS_FUNC_MASK + 7, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| /* |
| Functions for QoS Mapping |
| */ |
| #define IOCTL_gcosSetPortDefaultTc \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gqosSetPrioMapRule \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gqosGetPrioMapRule \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gqosIpPrioMapEn \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gqosGetIpPrioMapEn \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 4, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gqosUserPrioMapEn \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 5, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gqosGetUserPrioMapEn \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 6, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gcosGetUserPrio2Tc \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 7, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gcosSetUserPrio2Tc \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 8, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gcosGetDscp2Tc \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 9, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gcosSetDscp2Tc \ |
| CTL_CODE(FILE_DEVICE_NETWORK , QOS_FUNC_MASK + 10, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| |
| /* |
| Functions for Sys Control |
| */ |
| #define IOCTL_gsysSwReset \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 0, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysSetDiscardExcessive \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysGetDiscardExcessive \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 2, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysSetSchedulingMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 3, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysGetSchedulingMode \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 4, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysSetMaxFrameSize \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 5, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysGetMaxFrameSize \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 6, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysReLoad \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 7, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysSetWatchDog \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 8, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysGetWatchDog \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 9, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysSetDuplexPauseMac \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 10, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysGetDuplexPauseMac \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 11, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysSetPerPortDuplexPauseMac \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 12, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| #define IOCTL_gsysGetPerPortDuplexPauseMac \ |
| CTL_CODE(FILE_DEVICE_NETWORK , SYS_CTRL_FUNC_MASK + 13, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |