windows-nt/Source/XPSP1/NT/net/tdi/sample/inc/libbase.h
2020-09-26 16:20:57 +08:00

137 lines
2.7 KiB
C

//////////////////////////////////////////////////////////////////
//
// Copyright (c) 2001 Microsoft Corporation
//
// Module Name:
// libbase.h
//
// Abstract:
// Definition that are shared by tdisamp.exe and the library
//
////////////////////////////////////////////////////////////////////
#if !defined(TDILIB_LIBBASE_H_)
#define TDILIB_LIBBASE_H_
//#define UNICODE
//#define _UNICODE
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define STRICT
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#include <stdarg.h>
#include <ntstatus.h>
#define WIN32_NO_STATUS
typedef long NTSTATUS;
#include <windef.h>
#include <winbase.h>
//
// required by tdi.h
//
struct UNICODE_STRING
{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
};
#include <tdi.h>
#include <stdio.h>
#include <tchar.h>
//
// definitions from nb30.h, which part of the sdk but not ddk
//
#define NCBNAMSZ 16 // absolute length of a net name
typedef struct _ADAPTER_STATUS
{
UCHAR adapter_address[6];
UCHAR rev_major;
UCHAR reserved0;
UCHAR adapter_type;
UCHAR rev_minor;
WORD duration;
WORD frmr_recv;
WORD frmr_xmit;
WORD iframe_recv_err;
WORD xmit_aborts;
DWORD xmit_success;
DWORD recv_success;
WORD iframe_xmit_err;
WORD recv_buff_unavail;
WORD t1_timeouts;
WORD ti_timeouts;
DWORD reserved1;
WORD free_ncbs;
WORD max_cfg_ncbs;
WORD max_ncbs;
WORD xmit_buf_unavail;
WORD max_dgram_size;
WORD pending_sess;
WORD max_cfg_sess;
WORD max_sess;
WORD max_sess_pkt_size;
WORD name_count;
} ADAPTER_STATUS, *PADAPTER_STATUS;
typedef struct _NAME_BUFFER
{
UCHAR name[NCBNAMSZ];
UCHAR name_num;
UCHAR name_flags;
} NAME_BUFFER, *PNAME_BUFFER;
// values for name_flags bits.
#define NAME_FLAGS_MASK 0x87
#define GROUP_NAME 0x80
#define UNIQUE_NAME 0x00
#define REGISTERING 0x00
#define REGISTERED 0x04
#define DEREGISTERED 0x05
#define DUPLICATE 0x06
#define DUPLICATE_DEREG 0x07
//
// end of defines stolen from nb30.h
//
#include "libprocs.h"
/////////////////////////////////////////////////////////////////////
// some defines
/////////////////////////////////////////////////////////////////////
inline
PVOID
LocalAllocateMemory(ULONG ulLength)
{
return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, ulLength);
}
inline
void
LocalFreeMemory(PVOID pvAddr)
{
(VOID)HeapFree(GetProcessHeap(), 0, pvAddr);
}
#endif // !defined(TDILIB_LIBBASE_H_)
///////////////////////////////////////////////////////////////////////////////
// end of file libbase.h
///////////////////////////////////////////////////////////////////////////////