⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 naltypes.h

📁 希望我上传的这些东西可以对搞编程的程序员有点小小的帮助!谢谢!
💻 H
📖 第 1 页 / 共 3 页
字号:
#define NETWORKINFO_FLAGS_PMODE_NOT_SUPPORTED           0x00000001
#define NETWORKINFO_FLAGS_LOOPBACK_NOT_SUPPORTED        0x00000002
#define NETWORKINFO_FLAGS_REMOTE_NAL                    0x00000004
#define NETWORKINFO_FLAGS_REMOTE_NAL_CONNECTED          0x00000008
#define NETWORKINFO_FLAGS_REMOTE_CARD                   0x00000010

//=============================================================================
//  Pattern structure.
//=============================================================================

#define MAX_PATTERN_LENGTH  16

typedef struct _PATTERNMATCH
{
    DWORD   Flags;
    WORD    Offset;
    WORD    Length;
    BYTE    PatternToMatch[MAX_PATTERN_LENGTH];                 //... Pattern to match.
} PATTERNMATCH;

#define PATTERN_MATCH_FLAGS_NOT                 0x00000001      //... Negate the results.
#define PATTERN_MATCH_FLAGS_DATA_RELATIVE       0x00000002      //... pattern is relative to data, not frame.

typedef PATTERNMATCH *LPPATTERNMATCH;

#define PATTERNMATCH_SIZE    sizeof(PATTERNMATCH)

//=============================================================================
//  Expression structure.
//=============================================================================

#define MAX_PATTERNS    4

typedef struct _ANDEXP
{
    DWORD            nPatternMatches;
    PATTERNMATCH     PatternMatch[MAX_PATTERNS];
} ANDEXP;

typedef ANDEXP *LPANDEXP;

#define ANDEXP_SIZE     sizeof(ANDEXP)

typedef struct _EXPRESSION
{
    DWORD       nAndExps;
    ANDEXP      AndExp[MAX_PATTERNS];
} EXPRESSION;

typedef EXPRESSION *LPEXPRESSION;

#define EXPRESSION_SIZE    sizeof(EXPRESSION)

//=============================================================================
//  Trigger.
//=============================================================================

typedef struct _TRIGGER
{
    DWORD           TriggerFlags;           //... Trigger flags.
    PATTERNMATCH    TriggerPatternMatch;    //... Trigger pattern match.
    BYTE            TriggerOpcode;          //... Trigger opcode.
    BYTE            TriggerAction;          //... Action to take when trigger occurs.
    WORD            TriggerState;           //... State change request.
    WORD            TriggerBufferSize;      //... Percentage of buffer to trigger on.
    LPSTR           TriggerCommand;         //... Command string to pass to WinExec.
} TRIGGER;

typedef TRIGGER *LPTRIGGER;

#define TRIGGER_SIZE    sizeof(TRIGGER)

#define TRIGGER_FLAGS_DATA_RELATIVE         0x00000001

//=============================================================================
//  Capture filter.
//=============================================================================

typedef struct _CAPTUREFILTER
{
    DWORD           FilterFlags;            //... filter flags,
    LPBYTE          SapTable;               //... sap table.
    LPWORD          EtypeTable;             //... etype table.
    WORD            nSaps;                  //... sap table length.
    WORD            nEtypes;                //... Etype table length.
    LPADDRESSTABLE  AddressTable;           //... Address table.
    EXPRESSION      FilterExpression;       //... Filter expression.
    TRIGGER         Trigger;                //... Trigger structure.
    DWORD           nFrameBytesToCopy;      //... Number of byte of each frame to copy.
    DWORD           Reserved;
} CAPTUREFILTER;

typedef CAPTUREFILTER *LPCAPTUREFILTER;

#define CAPTUREFILTER_SIZE sizeof(CAPTUREFILTER)

//=============================================================================
//  Capture filter flags. By default all frames are rejected and
//  NalSetCaptureFilter enables them based on the CAPTUREFILTER flags
//  defined below.
//=============================================================================

#define CAPTUREFILTER_FLAGS_INCLUDE_ALL_SAPS    0x0001      //... include saps.
#define CAPTUREFILTER_FLAGS_INCLUDE_ALL_ETYPES  0x0002      //... include etypes.
#define CAPTUREFILTER_FLAGS_TRIGGER             0x0004      //... process trigger.
#define CAPTUREFILTER_FLAGS_LOCAL_ONLY          0x0008      //... non-promiscuous.
#define CAPTUREFILTER_FLAGS_DISCARD_COMMENTS    0x0010      //... throw away our internal comment frames

//.. The following causes both saps and etypes to be included.

#define CAPTUREFILTER_FLAGS_INCLUDE_ALL         0x0003      //... 0x0001 | 0x0002

#define BUFFER_FULL_25_PERCENT                  0
#define BUFFER_FULL_50_PERCENT                  1
#define BUFFER_FULL_75_PERCENT                  2
#define BUFFER_FULL_100_PERCENT                 3

//=============================================================================
//  Station statistics.
//=============================================================================

typedef struct _STATIONSTATS *LPSTATIONSTATS;
typedef struct _SESSION      *LPSESSION;

typedef struct _SESSION
{
    LPSESSION       NextSession;            //... opaque, used by nal.
    LPSTATIONSTATS  StationOwner;
    LPSTATIONSTATS  StationPartner;
    DWORD           Flags;
    DWORD           TotalPacketsSent;
} SESSION;

#define SESSION_SIZE    sizeof(SESSION)

#define SESSION_FLAGS_INITIALIZED  0x0001           //... Structure has been initialized.
#define SESSION_FLAGS_EVENTPOSTED  0x0002           //... Nal has posted an event for this entry.

typedef struct _STATIONSTATS    *LPSTATIONSTATS;

typedef struct _STATIONSTATS
{
    LPSTATIONSTATS NextStationStats;        //... opaque, used by nal.
    LPSESSION       SessionPartnerList;     //... opaque, used by nal.
    DWORD           Flags;                  //... opaque, used by nal.
    BYTE            StationAddress[6];
    WORD            Pad;                    //... DWORD alignment.
    DWORD           TotalPacketsReceived;
    DWORD           TotalDirectedPacketsSent;
    DWORD           TotalBroadcastPacketsSent;
    DWORD           TotalMulticastPacketsSent;
    DWORD           TotalBytesReceived;
    DWORD           TotalBytesSent;
} STATIONSTATS;

#define STATIONSTATS_SIZE       sizeof(STATIONSTATS)

#define STATIONSTATS_FLAGS_INITIALIZED  0x0001      //... Structure has been initialized.
#define STATIONSTATS_FLAGS_EVENTPOSTED  0x0002      //... Nal has posted an event for this entry.

//=============================================================================
//  Bone packet definition.
//=============================================================================

#define STATIONQUERY_FLAGS_LOADED       0x0001      //... Driver is loaded but the kernel is not.
#define STATIONQUERY_FLAGS_RUNNING      0x0002      //... Driver is loaded but not capturing.
#define STATIONQUERY_FLAGS_CAPTURING    0x0004      //... Driver is actively capturing.
#define STATIONQUERY_FLAGS_TRANSMITTING 0x0008      //... Driver is actively transmitting.

typedef struct _STATIONQUERY
{
    DWORD           Flags;                              //... Current state of bloodhound.
    BYTE            BCDVerMinor;                        //... Binary coded decimal (minor).
    BYTE            BCDVerMajor;                        //... Binary coded decimal (major).
    DWORD           LicenseNumber;                      //... Software license number.
    BYTE            MachineName[MACHINE_NAME_LENGTH];   //... Machine name, if any.
    BYTE            UserName[USER_NAME_LENGTH];         //... Username name, if any.
    BYTE            Reserved[32];                       //... Reserved.
    BYTE            AdapterAddress[6];                  //... NIC address.
} STATIONQUERY;

typedef STATIONQUERY *LPSTATIONQUERY;

#define STATIONQUERY_SIZE sizeof(STATIONQUERY)

//=============================================================================
//  QUERYTABLE structure.
//=============================================================================

typedef struct _QUERYTABLE
{
    DWORD           nStationQueries;
    STATIONQUERY    StationQuery[0];
} QUERYTABLE;

typedef QUERYTABLE *LPQUERYTABLE;

#define QUERYTABLE_SIZE sizeof(QUERYTABLE)

//=============================================================================
//  BONEPACKET structure.
//=============================================================================

typedef struct _BONEPACKET
{
    DWORD       Signature;                  //... 'RTSS'
    BYTE        Command;                    //... packet command field.
    BYTE        Flags;                      //... flags.
    DWORD       Reserved;                   //... reserved.
    WORD        Length;                     //... length of data, if any.
} BONEPACKET;

typedef BONEPACKET *LPBONEPACKET;

#define BONEPACKET_SIZE sizeof(BONEPACKET)

//=============================================================================
//  BONE alert packet.
//=============================================================================

typedef struct _ALERT
{
    DWORD           AlertCode;                          //... Alert code.
    BYTE            MachineName[MACHINE_NAME_LENGTH];   //... Machine name, if any.
    BYTE            UserName[USER_NAME_LENGTH];         //... Username name, if any.

    union
    {
        BYTE            Pad[32];                        //... Alert code-specific data.
        DWORD           nFramesToSend;                  //... Transmit alert data.
    };
} ALERT;

typedef ALERT *LPALERT;

#define ALERT_SIZE sizeof(ALERT)

//... Alert codes.

#define ALERT_CODE_BEGIN_TRANSMIT           0

//=============================================================================
//  BONEPACKET signature.
//=============================================================================

#define MAKE_WORD(l, h)         (((WORD) (l)) | (((WORD) (h)) << 8))
#define MAKE_LONG(l, h)         (((DWORD) (l)) | (((DWORD) (h)) << 16L))

#define MAKE_SIG(a, b, c, d)    MAKE_LONG(MAKE_WORD(a, b), MAKE_WORD(c, d))

#define BONE_PACKET_SIGNATURE   MAKE_SIG('R', 'T', 'S', 'S')

//=============================================================================
//  BONEPACKET commands.
//=============================================================================

#define BONE_COMMAND_STATION_QUERY_REQUEST      0
#define BONE_COMMAND_STATION_QUERY_RESPONSE     1
#define BONE_COMMAND_ALERT                      2

//=============================================================================
//  STATISTICS parameter structure return from OpenNetwork().
//=============================================================================

typedef struct _STATISTICSPARAM
{
    DWORD           StatisticsSize;             //... Number of bytes.
    LPSTATISTICS    Statistics;
    DWORD           StatisticsTableEntries;     //... Number of entries.
    LPSTATIONSTATS  StatisticsTable;
    DWORD           SessionTableEntries;        //... Number of entries.
    LPSESSION       SessionTable;
} STATISTICSPARAM;

typedef STATISTICSPARAM *LPSTATISTICSPARAM;

#define STATISTICSPARAM_SIZE    sizeof(STATISTICSPARAM)

//=============================================================================
//  RECONNECTINFO structure.
//=============================================================================

typedef struct _RECONNECTINFO_HEADER
{
    DWORD       Signature;                      //... Application-defined signature.
    WORD        PrivateDataLength;              //... Private data length (max = 64K - header size).
    BYTE        Reserved[26];                   //... Reserved for future use.
} RECONNECTINFO_HEADER;

typedef RECONNECTINFO_HEADER *LPRECONNECTINFO_HEADER;

#define RECONNECTINFO_HEADER_SIZE   sizeof(RECONNECTINFO_HEADER)    //... 32 byte fixed header.

typedef struct _RECONNECTINFO
{
    RECONNECTINFO_HEADER    ReconnectInfoHeader;
    BYTE                    PrivateData[0];
} RECONNECTINFO;

typedef RECONNECTINFO *LPRECONNECTINFO;

#define RECONNECTINFO_SIZE  sizeof(RECONNECTINFO)

//=============================================================================
//  BUGBUG: TEMP SetupNetworkID() data struct
//=============================================================================

typedef struct _SETUPNETWORKPARMS
{
    char    Nodename[32];       //... remote node to connect to
    char    Comment[255];       //... comment regarding what we are using remote network for
    int     NetID;              //... which network id to use
    DWORD   Frequency;          //... frequency of Agent status updates
    DWORD   fSlowLink:1;        //... flag to signify slow link
} SETUPNETWORKPARMS;

typedef SETUPNETWORKPARMS *LPSETUPNETWORKPARMS;

#define SETUPNETWORKPARMS_SIZE    sizeof(SETUPNETWORKPARMS)

//=============================================================================
// Constants for SpecialFrame comment insertions
//=============================================================================

#define SPECIAL_FRAME_FLAG_USE_AS_STATS_ENDPOINT      0x00000001

#define SPECIAL_FRAME_TYPE_COMMENT  101
#define SPECIAL_FRAME_TYPE_BOOKMARK 102
#define SPECIAL_FRAME_TYPE_STATS    103
#define SPECIAL_FRAME_TYPE_ODBC     104
#define SPECIAL_FRAME_TYPE_MESSAGE  105

#pragma pack()
#endif
#pragma option pop /*P_O_Pop*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -