X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fipv6cp.h;h=3be5885abbda926c42b0c2a50aee2d4c4e589ac6;hb=4f3e40659fcccce45068473ae94cfead18260c77;hp=5e1db6ba510f65d6eb6dae0bb130de5927c0cadc;hpb=ab4d4992050ec171e1c72d661a3457efc8e7c141;p=ppp.git diff --git a/pppd/ipv6cp.h b/pppd/ipv6cp.h index 5e1db6b..3be5885 100644 --- a/pppd/ipv6cp.h +++ b/pppd/ipv6cp.h @@ -33,8 +33,16 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * */ + +#ifndef PPP_IPV6CP_H +#define PPP_IPV6CP_H + #include "pppdconf.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Original version, based on RFC2023 : Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt, @@ -156,6 +164,7 @@ typedef struct ipv6cp_options { int opt_remote; /* histoken set by option */ int use_ip; /* use IP as interface identifier */ int use_persistent; /* use uniquely persistent value for address */ + int use_remotenumber; /* use remote number value for address */ int neg_vj; /* Van Jacobson Compression? */ u_short vj_protocol; /* protocol value to use in VJ option */ eui64_t ourid, hisid; /* Interface identifiers */ @@ -168,3 +177,21 @@ extern ipv6cp_options ipv6cp_allowoptions[]; extern ipv6cp_options ipv6cp_hisoptions[]; extern struct protent ipv6cp_protent; + +/* + * Hook for a plugin to know when IPv6 protocol has come up + */ +typedef void (ipv6_up_hook_fn)(void); +extern ipv6_up_hook_fn *ipv6_up_hook; + +/* + * Hook for a plugin to know when IPv6 protocol has come down + */ +typedef void (ipv6_down_hook_fn)(void); +extern ipv6_down_hook_fn *ipv6_down_hook; + +#ifdef __cplusplus +} +#endif + +#endif