"Fossies" - the Fresh Open Source Software Archive

Member "ospfctl/parser.h" (23 Mar 2006, 1777 Bytes) of package /linux/privat/old/openospfd-4.6.tgz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /*  $OpenBSD: parser.h,v 1.8 2006/03/23 18:37:34 norby Exp $ */
    2 
    3 /*
    4  * Copyright (c) 2004 Esben Norby <norby@openbsd.org>
    5  * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
    6  *
    7  * Permission to use, copy, modify, and distribute this software for any
    8  * purpose with or without fee is hereby granted, provided that the above
    9  * copyright notice and this permission notice appear in all copies.
   10  *
   11  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   12  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   13  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   14  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   15  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   16  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   17  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   18  */
   19 
   20 #ifndef _PARSER_H_
   21 #define _PARSER_H_
   22 
   23 #include <sys/types.h>
   24 #include <net/if.h>
   25 #include <netinet/in.h>
   26 
   27 enum actions {
   28     NONE,
   29     FIB,
   30     FIB_COUPLE,
   31     FIB_DECOUPLE,
   32     SHOW,
   33     SHOW_SUM,
   34     SHOW_IFACE,
   35     SHOW_IFACE_DTAIL,
   36     SHOW_NBR,
   37     SHOW_NBR_DTAIL,
   38     SHOW_DB,
   39     SHOW_DBBYAREA,
   40     SHOW_DBEXT,
   41     SHOW_DBNET,
   42     SHOW_DBRTR,
   43     SHOW_DBSELF,
   44     SHOW_DBSUM,
   45     SHOW_DBASBR,
   46     SHOW_RIB,
   47     SHOW_RIB_DTAIL,
   48     SHOW_FIB,
   49     SHOW_FIB_IFACE,
   50     RELOAD
   51 };
   52 
   53 struct parse_result {
   54     struct in_addr  addr;
   55     char        ifname[IF_NAMESIZE];
   56     int     flags;
   57     enum actions    action;
   58     u_int8_t    prefixlen;
   59 };
   60 
   61 struct parse_result *parse(int, char *[]);
   62 const struct token  *match_token(const char *, const struct token []);
   63 void             show_valid_args(const struct token []);
   64 int          parse_addr(const char *, struct in_addr *);
   65 int          parse_prefix(const char *, struct in_addr *,
   66                  u_int8_t *);
   67 
   68 #endif  /* _PARSER_H_ */