windows-nt/Source/XPSP1/NT/net/atm/rawwan/tdi/rwanatm.h
2020-09-26 16:20:57 +08:00

137 lines
2.4 KiB
C

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
D:\nt\private\ntos\tdi\rawwan\atm\rwanatm.h
Abstract:
Winsock 2 ATM definitions.
Revision History:
Who When What
-------- -------- ----------------------------------------------
arvindm 06-18-97 Created
Notes:
--*/
#ifndef __TDI_ATM_RWANATM__H
#define __TDI_ATM_RWANATM__H
typedef struct _ATMSP_WSABUF
{
ULONG len;
PCHAR buf;
} ATMSP_WSABUF, *PATMSP_WSABUF;
typedef struct _ATMSP_QUALITY_OF_SERVICE
{
FLOWSPEC SendingFlowSpec;
FLOWSPEC ReceivingFlowSpec;
ATMSP_WSABUF ProviderSpecific;
} ATMSP_QOS, *PATMSP_QOS;
typedef struct _ATMSP_BLLI
{
ULONG Layer2Protocol;
ULONG Layer2UserSpecifiedProtocol;
ULONG Layer3Protocol;
ULONG Layer3UserSpecifiedProtocol;
ULONG Layer3IPI;
UCHAR SnapId[5];
} ATMSP_BLLI, *PATMSP_BLLI;
typedef struct _ATMSP_BHLI
{
ULONG HighLayerInfoType;
ULONG HighLayerInfoLength;
UCHAR HighLayerInfo[8];
} ATMSP_BHLI, *PATMSP_BHLI;
typedef struct _atmsp_sockaddr_atm
{
ATM_ADDRESS satm_number;
ATMSP_BLLI satm_blli;
ATMSP_BHLI satm_bhli;
} ATMSP_SOCKADDR_ATM, *LPATMSP_SOCKADDR_ATM;
#define ATMSP_AF_ATM 22
#define TDI_ADDRESS_TYPE_ATM ATMSP_AF_ATM
#define ATMSP_ATMPROTO_AAL5 0x05
#define ATMSP_SOCK_TYPE 1
#define SOCKATM_E164 1
#define SOCKATM_NSAP 2
typedef struct _atmsp_connection_id
{
ULONG DeviceNumber;
ULONG Vpi;
ULONG Vci;
} ATMSP_CONNECTION_ID, *PATMSP_CONNECTION_ID;
//
// Winsock2/ATM AAL parameter definition:
//
typedef enum {
ATMSP_AALTYPE_5 = 5,
ATMSP_AALTYPE_USER = 16
} ATMSP_AAL_TYPE, *PATMSP_AAL_TYPE;
typedef struct
{
ULONG ForwardMaxCPCSSDUSize;
ULONG BackwardMaxCPCSSDUSize;
UCHAR Mode;
UCHAR SSCSType;
} ATMSP_AAL5_PARAMETERS, *PATMSP_AAL5_PARAMETERS;
typedef struct {
ULONG UserDefined;
} ATMSP_AALUSER_PARAMETERS, *PATMSP_AALUSER_PARAMETERS;
typedef struct _atmsp_aal_parameters_ie
{
ATMSP_AAL_TYPE AALType;
union {
ATMSP_AAL5_PARAMETERS AAL5Parameters;
ATMSP_AALUSER_PARAMETERS AALUserParameters;
} AALSpecificParameters;
} ATMSP_AAL_PARAMETERS_IE, *PATMSP_AAL_PARAMETERS_IE;
//
// Winsock2/ATM Broadband bearer capability code definitions.
// The BearerClass codes are different.
//
#define ATMSP_BCOB_A 0x01
#define ATMSP_BCOB_C 0x03
#define ATMSP_BCOB_X 0x10
#endif // __TDI_ATM_RWANATM__H