/************************************************************************ ** * ** Copyright © 1996 Digital Equipment Corporation. * ** All rights reserved. * ** * ** Redistribution and use in source and binary forms are permitted * ** provided that the above copyright notice and this paragraph are * ** duplicated in all such forms and that any documentation, * ** advertising materials, and other materials related to such * ** distribution and use acknowledge that the software was developed * ** by Digital Equipment Corporation. The name of the * ** Corporation may not be used to endorse or promote products derived * ** from this software without specific prior written permission. * ** THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * ** IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * ** WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * ** * ************************************************************************* ** * ** Important Note: * ** * ** This coding example uses privileged OpenVMS interfaces. * ** OpenVMS does not guarantee that these interfaces will * ** be supported indefinitely, and may change these interfaces * ** without prior notice. * ** * ************************************************************************* **++ ** FACILITY: ** ** ppp_mgmt_if.h. ** ** ABSTRACT: ** ** Constant defintions and structures defintions for interfacing ** to the management routines. ** ** AUTHORS: ** ** Patrick Crilly, Networks Engineering (Australia). ** ** CREATION DATE: ** ** 4-January-1996 ** ** MODIFICATION HISTORY: ** ** 17-December-1996 Barry W. Kierstein ** Replaced the standard Digital copyright with ** one compatible with the CMU copyright. ** ** 1-August-1996 Barry W. Kierstein ** Added "Important Note" disclaimer. ** ** 24-July-1996 Barry W. Kierstein ** Corrected copyright notice. ** ** 4-January-1996 Original version. ** **-- */ #ifndef _PPP_MGMT_IF_H_ #define _PPP_MGMT_IF_H_ /* ** ** import definitions: ** lineId ** */ #ifndef _PPPD_H_ #include "pppd.h" #endif /* ** Define item structure */ typedef struct ItemEntry { unsigned short ITEMlength; /* length of item - including header */ unsigned short ITEMtag; /* item code */ unsigned char ITEMdata[1]; /* start of the item value */ } ItemEntry; #define ITEM_HDR_SIZE 4 /* ** Define itemlist structure */ typedef struct ItemList { int ITEMLlength; /* length of list - excluding header */ ItemEntry *ITEMLaddress; /* address of start of list */ unsigned short ITEMLsize; /* size of memory allocated for list */ unsigned char ITEMLtype; /* type of memory block */ unsigned char ITEMLsubtype; /* sub-type of memory block */ ItemEntry ITEMLentries[1]; /* start of first item in list */ } ItemList; #define ITEMLIST_HDR_SIZE 12 /* ** Define item codes for Set/Show functions */ #define PPPD$K_DEBUG 0 #define PPPD$K_DEBUG_MBX 1 #define PPPD$K_COM_PORT 2 #define PPPD$K_RX_ACCM 3 #define PPPD$K_TX_ACCM 4 #define PPPD$K_MRU 5 #define PPPD$K_MTU 6 #define PPPD$K_MODE 7 #define PPPD$K_LINE_TYPE 8 #define PPPD$K_MAX_CONFIGURE 9 #define PPPD$K_MAX_FAILURE 10 #define PPPD$K_MAX_TERMINATE 11 #define PPPD$K_AC_COMPRESS 12 #define PPPD$K_PROTO_COMPRESS 13 #define PPPD$K_FCS_RX 14 #define PPPD$K_FCS_TX 15 #define PPPD$K_MAGIC_RETRIES 16 #define PPPD$K_RESTART_TIMER 17 #define PPPD$K_ECHO_INTERVALS 18 #define PPPD$K_ECHO_FAILURE 19 /* ** Define types of line */ #define PPPD$K_TRANSIENT 0 #define PPPD$K_PERMANENT 1 /* ** Define modes of operation */ #define PPPD$K_PASSIVE 0 #define PPPD$K_ACTIVE 1 /* ** Define the maximum length of a string in list */ #define PPPD$K_MAX_NAME 64 /* ** Define the structure containing pointers ** to management routines. */ typedef struct mgmtRtns { u_int (*createLine)( lineId *, char *, u_int ); u_int (*deleteLine)( lineId ); u_int (*disableLine)( lineId ); u_int (*enableLine)( lineId ); u_int (*getLineId)( lineId *, char *, u_int ); u_int (*setLine)( lineId, ItemList *, u_int * ); u_int (*showLine)( lineId, ItemList *, u_int * ); } mgmtRtns; #endif /* _PPP_MGMT_IF_H_ */