File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / mpd / src / ipv6cp.h
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 00:39:23 2021 UTC (3 years, 9 months ago) by misho
Branches: mpd, MAIN
CVS tags: v5_9p16, v5_9, HEAD
mpd 5.9


/*
 * ipv6cp.h
 *
 * Written by Alexander Motin <mav@FreeBSD.org>
 */

#ifndef _IPV6CP_H_
#define _IPV6CP_H_

#include <sys/types.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include "command.h"

/*
 * DEFINITONS
 */
 
   /* Configuration options */
/*  enum {
  };*/

  struct ipv6cpconf {
    struct optinfo	options;	/* Configuraion options */
  };
  typedef struct ipv6cpconf	*Ipv6cpConf;

  struct ipv6cpstate {
    struct ipv6cpconf	conf;		/* Configuration */

    u_char 		myintid[8];
    u_char 		hisintid[8];

    struct in6_addr	want_addr;	/* IPv6 address I'm willing to use */
    struct in6_addr	peer_addr;	/* IPv6 address he is willing to use */

    uint32_t		peer_reject;	/* Request codes rejected by peer */

    struct fsm		fsm;
  };
  typedef struct ipv6cpstate	*Ipv6cpState;

/*
 * VARIABLES
 */

  extern const struct cmdtab	Ipv6cpSetCmds[];

/*
 * FUNCTIONS
 */

  extern void	Ipv6cpInit(Bund b);
  extern void	Ipv6cpInst(Bund b, Bund bt);
  extern void	Ipv6cpUp(Bund b);
  extern void	Ipv6cpDown(Bund b);
  extern void	Ipv6cpOpen(Bund b);
  extern void	Ipv6cpClose(Bund b);
  extern int	Ipv6cpOpenCmd(Context ctx);
  extern int	Ipv6cpCloseCmd(Context ctx);
  extern void	Ipv6cpInput(Bund b, Mbuf bp);
  extern void	Ipv6cpDefAddress(void);
  extern int	Ipv6cpStat(Context ctx, int ac, const char *const av[], const void *arg);

#endif



FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>