003 File Manager
Current Path:
/usr/include/netgraph
usr
/
include
/
netgraph
/
📁
..
📁
atm
📁
bluetooth
📁
netflow
📄
netgraph.h
(41.17 KB)
📄
ng_UI.h
(2.36 KB)
📄
ng_async.h
(4.05 KB)
📄
ng_atmllc.h
(1.85 KB)
📄
ng_bpf.h
(3.97 KB)
📄
ng_bridge.h
(7.58 KB)
📄
ng_car.h
(4.6 KB)
📄
ng_checksum.h
(2.63 KB)
📄
ng_cisco.h
(3.39 KB)
📄
ng_deflate.h
(2.85 KB)
📄
ng_device.h
(1.74 KB)
📄
ng_echo.h
(2.28 KB)
📄
ng_eiface.h
(2.09 KB)
📄
ng_etf.h
(3.05 KB)
📄
ng_ether.h
(3.22 KB)
📄
ng_ether_echo.h
(2.32 KB)
📄
ng_frame_relay.h
(2.51 KB)
📄
ng_gif.h
(4.04 KB)
📄
ng_gif_demux.h
(2.05 KB)
📄
ng_hole.h
(2.69 KB)
📄
ng_hub.h
(1.68 KB)
📄
ng_iface.h
(2.68 KB)
📄
ng_ip_input.h
(3.78 KB)
📄
ng_ipfw.h
(1.54 KB)
📄
ng_ksocket.h
(3.86 KB)
📄
ng_l2tp.h
(8.12 KB)
📄
ng_lmi.h
(3.2 KB)
📄
ng_macfilter.h
(5.7 KB)
📄
ng_message.h
(14.69 KB)
📄
ng_mppc.h
(3.29 KB)
📄
ng_nat.h
(6.87 KB)
📄
ng_one2many.h
(4.56 KB)
📄
ng_parse.h
(18.49 KB)
📄
ng_patch.h
(3.64 KB)
📄
ng_pipe.h
(5.56 KB)
📄
ng_ppp.h
(9.77 KB)
📄
ng_pppoe.h
(9.64 KB)
📄
ng_pptpgre.h
(6.04 KB)
📄
ng_pred1.h
(2.73 KB)
📄
ng_rfc1490.h
(2.62 KB)
📄
ng_sample.h
(3.53 KB)
📄
ng_socket.h
(2.73 KB)
📄
ng_socketvar.h
(2.51 KB)
📄
ng_source.h
(4.96 KB)
📄
ng_split.h
(1.84 KB)
📄
ng_sppp.h
(1.03 KB)
📄
ng_tag.h
(4.55 KB)
📄
ng_tcpmss.h
(2.73 KB)
📄
ng_tee.h
(3.51 KB)
📄
ng_tty.h
(2.49 KB)
📄
ng_vjc.h
(3.5 KB)
📄
ng_vlan.h
(3.47 KB)
Editing: ng_tag.h
/*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Vadim Goncharov <vadimnuclight@tpu.ru> * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice unmodified, this list of conditions, and the following * disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD$ */ #ifndef _NETGRAPH_NG_TAG_H_ #define _NETGRAPH_NG_TAG_H_ /* Node type name and magic cookie. */ #define NG_TAG_NODE_TYPE "tag" #define NGM_TAG_COOKIE 1149771193 /* * The types of tag_cookie, tag_len and tag_id in structures below * must be the same as corresponding members m_tag_cookie, m_tag_len * and m_tag_id in struct m_tag (defined in <sys/mbuf.h>). */ /* Tag match structure for every (input) hook. */ struct ng_tag_hookin { char thisHook[NG_HOOKSIZ]; /* name of hook */ char ifMatch[NG_HOOKSIZ]; /* match dest hook */ char ifNotMatch[NG_HOOKSIZ]; /* !match dest hook */ uint8_t strip; /* strip tag if found */ uint32_t tag_cookie; /* ABI/Module ID */ uint16_t tag_id; /* tag ID */ uint16_t tag_len; /* length of data */ uint8_t tag_data[0]; /* tag data */ }; /* Tag set structure for every (output) hook. */ struct ng_tag_hookout { char thisHook[NG_HOOKSIZ]; /* name of hook */ uint32_t tag_cookie; /* ABI/Module ID */ uint16_t tag_id; /* tag ID */ uint16_t tag_len; /* length of data */ uint8_t tag_data[0]; /* tag data */ }; #define NG_TAG_HOOKIN_SIZE(taglen) \ (sizeof(struct ng_tag_hookin) + (taglen)) #define NG_TAG_HOOKOUT_SIZE(taglen) \ (sizeof(struct ng_tag_hookout) + (taglen)) /* Keep this in sync with the above structures definitions. */ #define NG_TAG_HOOKIN_TYPE_INFO(tdtype) { \ { "thisHook", &ng_parse_hookbuf_type }, \ { "ifMatch", &ng_parse_hookbuf_type }, \ { "ifNotMatch", &ng_parse_hookbuf_type }, \ { "strip", &ng_parse_uint8_type }, \ { "tag_cookie", &ng_parse_uint32_type }, \ { "tag_id", &ng_parse_uint16_type }, \ { "tag_len", &ng_parse_uint16_type }, \ { "tag_data", (tdtype) }, \ { NULL } \ } #define NG_TAG_HOOKOUT_TYPE_INFO(tdtype) { \ { "thisHook", &ng_parse_hookbuf_type }, \ { "tag_cookie", &ng_parse_uint32_type }, \ { "tag_id", &ng_parse_uint16_type }, \ { "tag_len", &ng_parse_uint16_type }, \ { "tag_data", (tdtype) }, \ { NULL } \ } #ifdef NG_TAG_DEBUG /* Statistics structure for one hook. */ struct ng_tag_hookstat { uint64_t recvFrames; uint64_t recvOctets; uint64_t recvMatchFrames; uint64_t recvMatchOctets; uint64_t xmitFrames; uint64_t xmitOctets; }; /* Keep this in sync with the above structure definition. */ #define NG_TAG_HOOKSTAT_TYPE_INFO { \ { "recvFrames", &ng_parse_uint64_type }, \ { "recvOctets", &ng_parse_uint64_type }, \ { "recvMatchFrames", &ng_parse_uint64_type }, \ { "recvMatchOctets", &ng_parse_uint64_type }, \ { "xmitFrames", &ng_parse_uint64_type }, \ { "xmitOctets", &ng_parse_uint64_type }, \ { NULL } \ } #endif /* NG_TAG_DEBUG */ /* Netgraph commands. */ enum { NGM_TAG_SET_HOOKIN = 1, /* supply a struct ng_tag_hookin */ NGM_TAG_GET_HOOKIN, /* returns a struct ng_tag_hookin */ NGM_TAG_SET_HOOKOUT, /* supply a struct ng_tag_hookout */ NGM_TAG_GET_HOOKOUT, /* returns a struct ng_tag_hookout */ #ifdef NG_TAG_DEBUG NGM_TAG_GET_STATS, /* supply name as char[NG_HOOKSIZ] */ NGM_TAG_CLR_STATS, /* supply name as char[NG_HOOKSIZ] */ NGM_TAG_GETCLR_STATS, /* supply name as char[NG_HOOKSIZ] */ #endif }; #endif /* _NETGRAPH_NG_TAG_H_ */
Upload File
Create Folder