parser.h revision 1.21
1/* $OpenBSD: parser.h,v 1.21 2010/01/10 00:16:23 claudio Exp $ */ 2 3/* 4 * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19#include <sys/types.h> 20 21#include "bgpd.h" 22 23enum actions { 24 NONE, 25 SHOW, 26 SHOW_SUMMARY, 27 SHOW_SUMMARY_TERSE, 28 SHOW_NEIGHBOR, 29 SHOW_NEIGHBOR_TIMERS, 30 SHOW_NEIGHBOR_TERSE, 31 SHOW_FIB, 32 SHOW_RIB, 33 SHOW_RIB_MEM, 34 SHOW_NEXTHOP, 35 SHOW_INTERFACE, 36 RELOAD, 37 FIB, 38 FIB_COUPLE, 39 FIB_DECOUPLE, 40 LOG_VERBOSE, 41 LOG_BRIEF, 42 NEIGHBOR, 43 NEIGHBOR_UP, 44 NEIGHBOR_DOWN, 45 NEIGHBOR_CLEAR, 46 NEIGHBOR_RREFRESH, 47 NETWORK_ADD, 48 NETWORK_REMOVE, 49 NETWORK_FLUSH, 50 NETWORK_SHOW, 51 IRRFILTER 52}; 53 54struct parse_result { 55 struct bgpd_addr addr; 56 struct bgpd_addr peeraddr; 57 struct filter_as as; 58 struct filter_set_head set; 59 struct filter_community community; 60 char peerdesc[PEER_DESCR_LEN]; 61 char rib[PEER_DESCR_LEN]; 62 char *irr_outdir; 63 int flags; 64 enum actions action; 65 u_int8_t prefixlen; 66 u_int8_t aid; 67}; 68 69__dead void usage(void); 70struct parse_result *parse(int, char *[]); 71