140 lines
3.4 KiB
C
140 lines
3.4 KiB
C
/*
|
|
|
|
Copyright (c) 1997, Microsoft Corporation, all rights reserved
|
|
|
|
File:
|
|
bap.h
|
|
|
|
Description:
|
|
Remote Access PPP Bandwidth Allocation Protocol. Include ppp.h and rasman.h
|
|
before including this file.
|
|
|
|
History:
|
|
Mar 27, 1997: Vijay Baliga created original version.
|
|
|
|
*/
|
|
|
|
#ifndef _BAP_H_
|
|
#define _BAP_H_
|
|
|
|
// BAP packet types
|
|
|
|
#define BAP_PACKET_CALL_REQ 0x01 // Call-Request
|
|
#define BAP_PACKET_CALL_RESP 0x02 // Call-Response
|
|
#define BAP_PACKET_CALLBACK_REQ 0x03 // Callback-Request
|
|
#define BAP_PACKET_CALLBACK_RESP 0x04 // Callback-Response
|
|
#define BAP_PACKET_DROP_REQ 0x05 // Link-Drop-Query-Request
|
|
#define BAP_PACKET_DROP_RESP 0x06 // Link-Drop-Query-Response
|
|
#define BAP_PACKET_STATUS_IND 0x07 // Call-Status-Indication
|
|
#define BAP_PACKET_STAT_RESP 0x08 // Call-Status-Response
|
|
#define BAP_PACKET_LIMIT 0x08 // Highest number we can handle
|
|
|
|
// BAP option types
|
|
|
|
#define BAP_OPTION_LINK_TYPE 0x01 // Link-Type
|
|
#define BAP_OPTION_PHONE_DELTA 0x02 // Phone-Delta
|
|
#define BAP_OPTION_NO_PH_NEEDED 0x03 // No-Phone-Number-Needed
|
|
#define BAP_OPTION_REASON 0x04 // Reason
|
|
#define BAP_OPTION_LINK_DISC 0x05 // Link-Discriminator
|
|
#define BAP_OPTION_CALL_STATUS 0x06 // Call-Status
|
|
#define BAP_OPTION_LIMIT 0x06 // Highest number we can handle
|
|
|
|
// BAP sub-option types
|
|
|
|
#define BAP_SUB_OPTION_UNIQUE_DIGITS 0x01 // Unique-Digits
|
|
#define BAP_SUB_OPTION_SUBSCRIB_NUM 0x02 // Subscriber-Number
|
|
#define BAP_SUB_OPTION_SUB_ADDR 0x03 // Phone-Number-Sub-Address
|
|
|
|
// BAP options
|
|
|
|
#define BAP_N_LINK_TYPE (1 << BAP_OPTION_LINK_TYPE)
|
|
#define BAP_N_PHONE_DELTA (1 << BAP_OPTION_PHONE_DELTA)
|
|
#define BAP_N_NO_PH_NEEDED (1 << BAP_OPTION_NO_PH_NEEDED)
|
|
#define BAP_N_REASON (1 << BAP_OPTION_REASON)
|
|
#define BAP_N_LINK_DISC (1 << BAP_OPTION_LINK_DISC)
|
|
#define BAP_N_CALL_STATUS (1 << BAP_OPTION_CALL_STATUS)
|
|
|
|
// BAP response code
|
|
|
|
#define BAP_RESPONSE_ACK 0x00 // Request-Ack
|
|
#define BAP_RESPONSE_NAK 0x01 // Request-Nak
|
|
#define BAP_RESPONSE_REJ 0x02 // Request-Rej
|
|
#define BAP_RESPONSE_FULL_NAK 0x03 // Request-Full-Nak
|
|
|
|
// The time we give to a favored peer to bring down a link
|
|
|
|
#define BAP_TIMEOUT_FAV_PEER 45
|
|
|
|
typedef struct _RASDIAL_ARGS
|
|
{
|
|
BOOL fServerRouter;
|
|
HRASCONN hRasConn;
|
|
RASDIALPARAMS RasDialParams;
|
|
RASDIALEXTENSIONS RasDialExtensions;
|
|
PPP_INTERFACE_INFO InterfaceInfo;
|
|
CHAR* szPhonebookPath;
|
|
BYTE* pbEapInfo;
|
|
CHAR chSeed; //Seed used for encoding the password
|
|
|
|
} RASDIAL_ARGS;
|
|
|
|
// Functions
|
|
|
|
VOID
|
|
BapTrace(
|
|
CHAR* Format,
|
|
...
|
|
);
|
|
|
|
BOOL
|
|
FGetOurPhoneNumberFromHPort(
|
|
IN HPORT hPort,
|
|
OUT CHAR* szOurPhoneNumber
|
|
);
|
|
|
|
VOID
|
|
BapEventAddLink(
|
|
IN BCB* pBcbLocal
|
|
);
|
|
|
|
VOID
|
|
BapEventDropLink(
|
|
IN BCB* pBcbLocal
|
|
);
|
|
|
|
// PCB and PPP_PACKET need ppp.h
|
|
|
|
VOID
|
|
BapEventReceive(
|
|
IN BCB* pBcbLocal,
|
|
IN PPP_PACKET* pPacket,
|
|
IN DWORD dwPacketLength
|
|
);
|
|
|
|
VOID
|
|
BapEventTimeout(
|
|
IN BCB* pBcbLocal,
|
|
IN DWORD dwId
|
|
);
|
|
|
|
// BAP_CALL_RESULT needs ppp.h
|
|
|
|
VOID
|
|
BapEventCallResult(
|
|
IN BCB* pBcbLocal,
|
|
IN BAP_CALL_RESULT* pBapCallResult
|
|
);
|
|
|
|
VOID
|
|
BapSetPolicy(
|
|
BCB* pBcb
|
|
);
|
|
|
|
HPORT
|
|
RasGetHport(
|
|
IN HRASCONN hRasConnSubEntry
|
|
);
|
|
|
|
#endif // #ifndef _BAP_H_
|
|
|