Home | History | Annotate | Line # | Download | only in pppd
      1 /*	$NetBSD: ccp.h,v 1.6 2025/01/08 19:59:38 christos Exp $	*/
      2 
      3 /*
      4  * ccp.h - Definitions for PPP Compression Control Protocol.
      5  *
      6  * Copyright (c) 1994-2024 Paul Mackerras. All rights reserved.
      7  *
      8  * Redistribution and use in source and binary forms, with or without
      9  * modification, are permitted provided that the following conditions
     10  * are met:
     11  *
     12  * 1. Redistributions of source code must retain the above copyright
     13  *    notice, this list of conditions and the following disclaimer.
     14  *
     15  * 2. Redistributions in binary form must reproduce the above copyright
     16  *    notice, this list of conditions and the following disclaimer in
     17  *    the documentation and/or other materials provided with the
     18  *    distribution.
     19  *
     20  * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
     21  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
     22  * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
     23  * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     24  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
     25  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
     26  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     27  */
     28 #ifndef PPP_CCP_H
     29 #define PPP_CCP_H
     30 
     31 #include "pppdconf.h"
     32 
     33 #ifdef  __cplusplus
     34 extern "C" {
     35 #endif
     36 
     37 typedef struct ccp_options {
     38     bool bsd_compress;		/* do BSD Compress? */
     39     bool deflate;		/* do Deflate? */
     40     bool predictor_1;		/* do Predictor-1? */
     41     bool predictor_2;		/* do Predictor-2? */
     42     bool deflate_correct;	/* use correct code for deflate? */
     43     bool deflate_draft;		/* use draft RFC code for deflate? */
     44     unsigned char mppe;		/* MPPE bitfield */
     45     unsigned short bsd_bits;		/* # bits/code for BSD Compress */
     46     unsigned short deflate_size;	/* lg(window size) for Deflate */
     47     short method;		/* code for chosen compression method */
     48 } ccp_options;
     49 
     50 extern fsm ccp_fsm[];
     51 extern ccp_options ccp_wantoptions[];
     52 extern ccp_options ccp_gotoptions[];
     53 extern ccp_options ccp_allowoptions[];
     54 extern ccp_options ccp_hisoptions[];
     55 
     56 extern struct protent ccp_protent;
     57 
     58 #ifdef __cplusplus
     59 }
     60 #endif
     61 
     62 #endif // PPP_CCP_H
     63