+/*
+ * The following struct gives the addresses of procedures to call
+ * for a particular protocol.
+ */
+struct protent {
+ u_short protocol; /* PPP protocol number */
+ void (*init)(); /* Initialization procedure */
+ void (*input)(); /* Process a received packet */
+ void (*protrej)(); /* Process a received protocol-reject */
+ void (*lowerup)(); /* Lower layer has come up */
+ void (*lowerdown)(); /* Lower layer has gone down */
+ void (*open)(); /* Open the protocol */
+ void (*close)(); /* Close the protocol */
+ int (*printpkt)(); /* Print a packet in readable form */
+ void (*datainput)(); /* Process a received data packet */
+ int enabled_flag; /* 0 iff protocol is disabled */
+ char *name; /* Text name of protocol */
+};
+
+/* Table of pointers to supported protocols */
+extern struct protent *protocols[];
+