| #include <Copyright.h> |
| |
| /* |
| * FILENAME: $Workfile: mv_types.h $ |
| * REVISION: $Revision: 3 $ |
| * LAST UPDATE: $Modtime: 12/24/02 5:37p $ |
| * |
| * DESCRIPTION: |
| * This file defines common data types used on Host and NetGX sides. |
| */ |
| |
| |
| #ifndef MV_TYPES_H |
| #define MV_TYPES_H |
| |
| |
| /* general */ |
| |
| #undef IN |
| #define IN |
| #undef OUT |
| #define OUT |
| #undef INOUT |
| #define INOUT |
| |
| |
| #ifndef NULL |
| #define NULL ((void*)0) |
| #endif |
| |
| typedef void GT_VOID; |
| typedef char GT_8; |
| typedef short GT_16; |
| typedef long GT_32; |
| |
| typedef unsigned char GT_U8; |
| typedef unsigned short GT_U16; |
| typedef unsigned long GT_U32; |
| typedef unsigned int GT_UINT; |
| |
| typedef union { |
| GT_U8 c[8]; |
| GT_U16 s[4]; |
| GT_U32 l[2]; |
| } GT_U64; |
| |
| |
| typedef enum { |
| GT_FALSE = 0, |
| GT_TRUE = 1 |
| } GT_BOOL; |
| |
| typedef void (*GT_VOIDFUNCPTR) (void); /* ptr to function returning void */ |
| typedef unsigned int (*GT_INTFUNCPTR) (void); /* ptr to function returning int */ |
| |
| |
| /* module state */ |
| typedef enum { |
| GT_STATE_NONE = 0, /* Uninitialized */ |
| GT_STATE_IDLE, /* Initialized, but not started (or stopped) */ |
| GT_STATE_ACTIVE /* Started */ |
| } GT_STATE; |
| |
| |
| #define GT_ETHERNET_HEADER_SIZE (6) |
| |
| typedef struct |
| { |
| GT_U8 arEther[GT_ETHERNET_HEADER_SIZE]; |
| }GT_ETHERADDR; |
| |
| /* This macro checks for a multicast mac address */ |
| #define GT_IS_MULTICAST_MAC(mac) ((mac.arEther[0] & 0x1) == 1) |
| |
| |
| /* This macro checks for an broadcast mac address */ |
| #define GT_IS_BROADCAST_MAC(mac) (((mac).arEther[0] == 0xFF) && ((mac).arEther[1] == 0xFF) && ((mac).arEther[2] == 0xFF) && ((mac).arEther[3] == 0xFF) && ((mac).arEther[4] == 0xFF) && ((mac).arEther[5] == 0xFF)) |
| |
| |
| /* status / error codes */ |
| typedef int GT_STATUS; |
| |
| #define GT_ERROR (-1) |
| #define GT_OK (0x00) /* Operation succeeded */ |
| #define GT_FAIL (0x01) /* Operation failed */ |
| #define GT_BAD_VALUE (0x02) /* Illegal value (general) */ |
| #define GT_BAD_PARAM (0x04) /* Illegal parameter in function called */ |
| #define GT_NOT_FOUND (0x0B) /* Item not found */ |
| #define GT_NO_MORE (0x0C) /* No more items found */ |
| #define GT_NO_SUCH (0x0D) /* No such item */ |
| #define GT_TIMEOUT (0x0E) /* Time Out */ |
| #define GT_NOT_SUPPORTED (0x10) /* This request is not support */ |
| #define GT_ALREADY_EXIST (0x1B) /* Tried to create existing item */ |
| #define GT_BAD_CPU_PORT (0x20) /* Input CPU Port is not valid physical port number */ |
| |
| extern GT_U8 qdLong2Char(GT_U32 data); |
| extern GT_U8 qdShort2Char(GT_U16 data); |
| extern GT_U16 qdLong2Short(GT_U32 data); |
| |
| #endif /* MV_TYPES_H */ |