Annotation of ntddk/src/network/inc/rasman.h, revision 1.1.1.1

1.1       root        1: //****************************************************************************
                      2: //
                      3: //                    Microsoft NT Remote Access Service
                      4: //
                      5: //                    Copyright 1992-93
                      6: //
                      7: //
                      8: //  Revision History
                      9: //
                     10: //
                     11: //  5/26/92    Gurdeep Singh Pall      Created
                     12: //
                     13: //
                     14: //  Description: This file contains all structure and constant definitions for
                     15: //              RAS Manager Component.
                     16: //
                     17: //****************************************************************************
                     18: 
                     19: 
                     20: #ifndef _RASMAN_
                     21: #define _RASMAN_
                     22: 
                     23: #include <windows.h>
                     24: 
                     25: #define WM_RASAPICOMPLETE   0xCCCC     // From the "user" window msg range
                     26: 
                     27: #define RASMAN_SERVICE_NAME "RASMAN"
                     28: 
                     29: #define MAX_MEDIA_NAME     16
                     30: #define MAX_PORT_NAME      16
                     31: #define MAX_USERKEY_SIZE    132
                     32: #define MAX_DEVICE_NAME     32
                     33: #define MAX_DEVICETYPE_NAME 16
                     34: #define MAX_PARAM_KEY_SIZE  32
                     35: #define MAX_XPORT_NAME     128 // ??
                     36: #define MAX_IDENTIFIER_SIZE 32
                     37: #define MAX_STAT_NAME      32
                     38: #define MAX_CHALLENGE_SIZE  8
                     39: #define MAX_RESPONSE_SIZE   24
                     40: #define MAX_USERNAME_SIZE   256
                     41: #define MAX_LAN_NETS       16
                     42: 
                     43: typedef  DWORD HPORT ;
                     44: 
                     45: enum RASMAN_STATUS {
                     46: 
                     47:        OPEN    = 0,
                     48: 
                     49:        CLOSED  = 1,
                     50: 
                     51:        UNKNOWN = 2
                     52: }   ;
                     53: 
                     54: typedef enum RASMAN_STATUS     RASMAN_STATUS ;
                     55: 
                     56: 
                     57: enum RASMAN_USAGE {
                     58: 
                     59:        CALL_IN     = 0,
                     60: 
                     61:        CALL_OUT    = 1,
                     62: 
                     63:        CALL_IN_OUT = 2,
                     64: 
                     65:        CALL_NONE   = 3
                     66: 
                     67: } ;
                     68: 
                     69: typedef enum RASMAN_USAGE      RASMAN_USAGE ;
                     70: 
                     71: 
                     72: enum RAS_FORMAT {
                     73: 
                     74:        Number      = 0,
                     75: 
                     76:        String      = 1
                     77: 
                     78: } ;
                     79: 
                     80: typedef enum RAS_FORMAT        RAS_FORMAT ;
                     81: 
                     82: 
                     83: union RAS_VALUE {
                     84: 
                     85:        DWORD   Number ;
                     86: 
                     87:        struct  {
                     88:                DWORD   Length ;
                     89:                PCHAR   Data ;
                     90:                } String ;
                     91: } ;
                     92: 
                     93: typedef union RAS_VALUE        RAS_VALUE ;
                     94: 
                     95: 
                     96: 
                     97: enum RASMAN_STATE {
                     98: 
                     99:        CONNECTING      = 0,
                    100: 
                    101:        LISTENING       = 1,
                    102: 
                    103:        CONNECTED       = 2,
                    104: 
                    105:        DISCONNECTING   = 3,
                    106: 
                    107:        DISCONNECTED    = 4
                    108: 
                    109: } ;
                    110: 
                    111: typedef enum RASMAN_STATE      RASMAN_STATE ;
                    112: 
                    113: 
                    114: enum RASMAN_DISCONNECT_REASON {
                    115: 
                    116:     USER_REQUESTED     = 0,
                    117: 
                    118:     REMOTE_DISCONNECTION= 1,
                    119: 
                    120:     HARDWARE_FAILURE   = 2,
                    121: 
                    122:     NOT_DISCONNECTED   = 3
                    123: } ;
                    124: 
                    125: typedef enum RASMAN_DISCONNECT_REASON  RASMAN_DISCONNECT_REASON ;
                    126: 
                    127: 
                    128: struct RAS_PARAMS {
                    129: 
                    130:     CHAR       P_Key   [MAX_PARAM_KEY_SIZE] ;
                    131: 
                    132:     RAS_FORMAT P_Type ;
                    133: 
                    134:     BYTE       P_Attributes ;
                    135: 
                    136:     RAS_VALUE  P_Value ;
                    137: 
                    138: } ;
                    139: 
                    140: typedef struct RAS_PARAMS      RAS_PARAMS ;
                    141: 
                    142: 
                    143: struct RASMAN_PORT {
                    144: 
                    145:     HPORT              P_Handle ;
                    146: 
                    147:     CHAR               P_PortName  [MAX_PORT_NAME] ;
                    148: 
                    149:     RASMAN_STATUS      P_Status ;
                    150: 
                    151:     RASMAN_USAGE       P_ConfiguredUsage ;
                    152: 
                    153:     RASMAN_USAGE       P_CurrentUsage ;
                    154: 
                    155:     CHAR               P_UserKey   [MAX_USERKEY_SIZE] ;
                    156: 
                    157:     CHAR               P_Identifier[MAX_IDENTIFIER_SIZE] ;
                    158: 
                    159:     CHAR               P_MediaName [MAX_MEDIA_NAME] ;
                    160: 
                    161:     CHAR               P_DeviceType[MAX_DEVICETYPE_NAME] ;
                    162: 
                    163:     CHAR               P_DeviceName[MAX_DEVICE_NAME] ;
                    164: 
                    165: } ;
                    166: 
                    167: typedef struct RASMAN_PORT     RASMAN_PORT ;
                    168: 
                    169: 
                    170: struct RASMAN_PORTINFO {
                    171: 
                    172:     WORD       PI_NumOfParams ;
                    173: 
                    174:     RAS_PARAMS PI_Params[1] ;
                    175: 
                    176: } ;
                    177: 
                    178: typedef struct RASMAN_PORTINFO RASMAN_PORTINFO ;
                    179: 
                    180: 
                    181: struct RASMAN_DEVICE {
                    182: 
                    183:     CHAR       D_Name  [MAX_DEVICE_NAME] ;
                    184: 
                    185: } ;
                    186: 
                    187: typedef struct RASMAN_DEVICE   RASMAN_DEVICE ;
                    188: 
                    189: 
                    190: struct RASMAN_DEVICEINFO {
                    191: 
                    192:     WORD       DI_NumOfParams ;
                    193: 
                    194:     RAS_PARAMS DI_Params[1] ;
                    195: 
                    196: } ;
                    197: 
                    198: typedef struct RASMAN_DEVICEINFO   RASMAN_DEVICEINFO ;
                    199: 
                    200: 
                    201: 
                    202: enum RAS_PROTOCOLTYPE {
                    203: 
                    204:        ASYBEUI     = 0x80D5,
                    205: 
                    206:        IPX         = 0x8138,
                    207: 
                    208:        IP          = 0x0800,
                    209: 
                    210:        ARP         = 0x0806,
                    211: 
                    212:        APPLETALK   = 0x80F3,
                    213: 
                    214:        XNS         = 0x0600,
                    215: 
                    216:        RASAUTH     = 0x8FFF,
                    217: 
                    218:        INVALID_TYPE= 0x2222
                    219: } ;
                    220: typedef enum RAS_PROTOCOLTYPE RAS_PROTOCOLTYPE ;
                    221: 
                    222: 
                    223: struct RASMAN_PROTOCOLINFO {
                    224: 
                    225:     CHAR               PI_XportName    [MAX_XPORT_NAME] ;
                    226: 
                    227:     RAS_PROTOCOLTYPE   PI_Type ;
                    228: 
                    229: } ;
                    230: 
                    231: typedef struct RASMAN_PROTOCOLINFO RASMAN_PROTOCOLINFO ;
                    232: 
                    233: struct RASMAN_ROUTEINFO {
                    234: 
                    235:     BYTE       RI_LanaNum ;
                    236: 
                    237:     WCHAR      RI_XportName    [MAX_XPORT_NAME] ;
                    238: 
                    239: } ;
                    240: 
                    241: typedef struct RASMAN_ROUTEINFO    RASMAN_ROUTEINFO ;
                    242: 
                    243: struct RASMAN_INFO {
                    244: 
                    245:     RASMAN_STATUS              RI_PortStatus ;
                    246: 
                    247:     RASMAN_STATE               RI_ConnState ;
                    248: 
                    249:     DWORD                      RI_LastError ;
                    250: 
                    251:     RASMAN_USAGE               RI_CurrentUsage ;
                    252: 
                    253:     CHAR                       RI_DeviceTypeConnecting [MAX_DEVICETYPE_NAME] ;
                    254: 
                    255:     CHAR                       RI_DeviceConnecting [MAX_DEVICE_NAME] ;
                    256: 
                    257:     RASMAN_DISCONNECT_REASON   RI_DisconnectReason ;
                    258: 
                    259:     DWORD                      RI_OwnershipFlag ;
                    260: 
                    261:     CHAR                       RI_Identifier [MAX_IDENTIFIER_SIZE] ;
                    262: 
                    263:     DWORD                      RI_ConnectDuration ;
                    264: } ;
                    265: 
                    266: typedef struct RASMAN_INFO       RASMAN_INFO ;
                    267: 
                    268: 
                    269: 
                    270: struct RAS_STATISTICS {
                    271: 
                    272:     WORD    S_NumOfStatistics ;
                    273: 
                    274:     ULONG   S_Statistics[1] ;
                    275: 
                    276: } ;
                    277: 
                    278: typedef struct RAS_STATISTICS  RAS_STATISTICS ;
                    279: 
                    280: 
                    281: struct RASMAN_MACFEATURES {
                    282: 
                    283:     ULONG  SendFeatureBits;   // A bit field of compression/features sendable
                    284: 
                    285:     ULONG  RecvFeatureBits;   // A bit field of compression/features receivable
                    286: 
                    287:     ULONG  MaxSendFrameSize;  // Maximum frame size that can be sent
                    288:                               //   must be less than or equal to default
                    289:     ULONG  MaxRecvFrameSize;  // Maximum frame size that can be rcvd
                    290:                               //   must be less than or equal to default
                    291:     ULONG   LinkSpeed ;
                    292: };
                    293: 
                    294: typedef struct RASMAN_MACFEATURES  RASMAN_MACFEATURES ;
                    295: 
                    296: 
                    297: 
                    298: //* RAS Manager entrypoint Prototypes
                    299: //
                    300: 
                    301: DWORD APIENTRY RasPortOpen(PCHAR, PCHAR, PCHAR, HPORT*, HANDLE);
                    302: 
                    303: DWORD APIENTRY RasPortClose(HPORT);
                    304: 
                    305: DWORD APIENTRY RasPortEnum(PBYTE, PWORD, PWORD);
                    306: 
                    307: DWORD APIENTRY RasPortGetInfo(HPORT, PBYTE, PWORD);
                    308: 
                    309: DWORD APIENTRY RasPortSetInfo(HPORT, RASMAN_PORTINFO*);
                    310: 
                    311: DWORD APIENTRY RasPortDisconnect(HPORT, HANDLE);
                    312: 
                    313: DWORD APIENTRY RasPortSend(HPORT, PBYTE, WORD);
                    314: 
                    315: DWORD APIENTRY RasPortReceive(HPORT, PBYTE, PWORD, DWORD, HANDLE);
                    316: 
                    317: DWORD APIENTRY RasPortListen(HPORT, DWORD, HANDLE);
                    318: 
                    319: DWORD APIENTRY RasPortConnectComplete(HPORT);
                    320: 
                    321: DWORD APIENTRY RasPortGetStatistics(HPORT, PBYTE, PWORD);
                    322: 
                    323: DWORD APIENTRY RasPortClearStatistics(HPORT);
                    324: 
                    325: DWORD APIENTRY RasDeviceEnum(PCHAR, PBYTE, PWORD, PWORD);
                    326: 
                    327: DWORD APIENTRY RasDeviceGetInfo(HPORT, PCHAR, PCHAR, PBYTE, PWORD);
                    328: 
                    329: DWORD APIENTRY RasDeviceSetInfo(HPORT, PCHAR, PCHAR, RASMAN_DEVICEINFO*);
                    330: 
                    331: DWORD APIENTRY RasDeviceConnect(HPORT, PCHAR, PCHAR, DWORD, HANDLE);
                    332: 
                    333: DWORD APIENTRY RasGetInfo(HPORT, RASMAN_INFO*);
                    334: 
                    335: DWORD APIENTRY RasGetBuffer(PBYTE*, PWORD);
                    336: 
                    337: DWORD APIENTRY RasFreeBuffer(PBYTE);
                    338: 
                    339: DWORD APIENTRY RasProtocolEnum(PBYTE, PWORD, PWORD);
                    340: 
                    341: DWORD APIENTRY RasAllocateRoute(HPORT, RAS_PROTOCOLTYPE, BOOL, RASMAN_ROUTEINFO*);
                    342: 
                    343: DWORD APIENTRY RasActivateRoute(HPORT, RAS_PROTOCOLTYPE, RASMAN_ROUTEINFO*);
                    344: 
                    345: DWORD APIENTRY RasDeAllocateRoute(HPORT, RAS_PROTOCOLTYPE);
                    346: 
                    347: DWORD APIENTRY RasCompressionGetInfo(HPORT, RASMAN_MACFEATURES*);
                    348: 
                    349: DWORD APIENTRY RasCompressionSetInfo(HPORT, RASMAN_MACFEATURES*);
                    350: 
                    351: DWORD APIENTRY RasGetUserCredentials(PBYTE, PLUID, PWCHAR, PBYTE, PBYTE) ;
                    352: 
                    353: DWORD APIENTRY RasRequestNotification (HPORT, HANDLE) ;
                    354: 
                    355: DWORD APIENTRY RasEnumLanNets (DWORD *, UCHAR *) ;
                    356: 
                    357: DWORD APIENTRY RasInitialize () ;
                    358: 
                    359: DWORD _RasmanInit();
                    360: 
                    361: VOID _RasmanEngine();
                    362: 
                    363: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.