FreeBSD kernel IPv4 code
|
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/module.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <netinet/libalias/alias_local.h>
#include <netinet/libalias/alias_mod.h>
Go to the source code of this file.
Data Structures | |
struct | NBTArguments |
struct | NbtDataHeader |
struct | NbtNSHeader |
struct | NBTNsQuestion |
struct | NBTNsResource |
struct | NBTNsRNB |
struct | NBTNsResourceA |
struct | NBTNsResourceNULL |
struct | NBTNsResourceNBSTAT |
Macros | |
#define | NETBIOS_NS_PORT_NUMBER 137 |
#define | NETBIOS_DGM_PORT_NUMBER 138 |
#define | OpQuery 0 |
#define | OpUnknown 4 |
#define | OpRegist 5 |
#define | OpRelease 6 |
#define | OpWACK 7 |
#define | OpRefresh 8 |
#define | FMT_ERR 0x1 |
#define | SRV_ERR 0x2 |
#define | IMP_ERR 0x4 |
#define | RFS_ERR 0x5 |
#define | ACT_ERR 0x6 |
#define | CFT_ERR 0x7 |
#define | DGM_DIRECT_UNIQ 0x10 |
#define | DGM_DIRECT_GROUP 0x11 |
#define | DGM_BROADCAST 0x12 |
#define | DGM_ERROR 0x13 |
#define | DGM_QUERY 0x14 |
#define | DGM_POSITIVE_RES 0x15 |
#define | DGM_NEGATIVE_RES 0x16 |
#define | QS_TYPE_NB 0x0020 |
#define | QS_TYPE_NBSTAT 0x0021 |
#define | QS_CLAS_IN 0x0001 |
#define | RR_TYPE_A 0x0001 |
#define | RR_TYPE_NS 0x0002 |
#define | RR_TYPE_NULL 0x000a |
#define | RR_TYPE_NB 0x0020 |
#define | RR_TYPE_NBSTAT 0x0021 |
#define | RR_CLAS_IN 0x0001 |
#define | SizeOfNsResource 8 |
#define | SizeOfNsRNB 6 |
#define | SizeOfResourceA 6 |
Functions | |
__FBSDID ("$FreeBSD$") | |
static int | AliasHandleUdpNbt (struct libalias *, struct ip *, struct alias_link *, struct in_addr *, u_short) |
static int | AliasHandleUdpNbtNS (struct libalias *, struct ip *, struct alias_link *, struct in_addr *, u_short *, struct in_addr *, u_short *) |
static int | fingerprint1 (struct libalias *la, struct alias_data *ah) |
static int | protohandler1 (struct libalias *la, struct ip *pip, struct alias_data *ah) |
static int | fingerprint2 (struct libalias *la, struct alias_data *ah) |
static int | protohandler2in (struct libalias *la, struct ip *pip, struct alias_data *ah) |
static int | protohandler2out (struct libalias *la, struct ip *pip, struct alias_data *ah) |
static int | mod_handler (module_t mod, int type, void *data) |
DECLARE_MODULE (alias_nbt, alias_mod, SI_SUB_DRIVERS, SI_ORDER_SECOND) | |
MODULE_VERSION (alias_nbt, 1) | |
MODULE_DEPEND (alias_nbt, libalias, 1, 1, 1) | |
static u_char * | AliasHandleName (u_char *p, char *pmax) |
static u_char * | AliasHandleQuestion (u_short count, NBTNsQuestion *q, char *pmax, NBTArguments *nbtarg) |
static u_char * | AliasHandleResourceNB (NBTNsResource *q, char *pmax, NBTArguments *nbtarg) |
static u_char * | AliasHandleResourceA (NBTNsResource *q, char *pmax, NBTArguments *nbtarg) |
static u_char * | AliasHandleResourceNULL (NBTNsResource *q, char *pmax, NBTArguments *nbtarg) |
static u_char * | AliasHandleResourceNS (NBTNsResource *q, char *pmax, NBTArguments *nbtarg) |
static u_char * | AliasHandleResourceNBSTAT (NBTNsResource *q, char *pmax, NBTArguments *nbtarg) |
static u_char * | AliasHandleResource (u_short count, NBTNsResource *q, char *pmax, NBTArguments *nbtarg) |
Variables | |
struct proto_handler | handlers [] |
static moduledata_t | alias_mod |
#define ACT_ERR 0x6 |
Definition at line 222 of file alias_nbt.c.
#define CFT_ERR 0x7 |
Definition at line 223 of file alias_nbt.c.
#define DGM_BROADCAST 0x12 |
Definition at line 320 of file alias_nbt.c.
#define DGM_DIRECT_GROUP 0x11 |
Definition at line 319 of file alias_nbt.c.
#define DGM_DIRECT_UNIQ 0x10 |
Definition at line 318 of file alias_nbt.c.
#define DGM_ERROR 0x13 |
Definition at line 321 of file alias_nbt.c.
#define DGM_NEGATIVE_RES 0x16 |
Definition at line 324 of file alias_nbt.c.
#define DGM_POSITIVE_RES 0x15 |
Definition at line 323 of file alias_nbt.c.
#define DGM_QUERY 0x14 |
Definition at line 322 of file alias_nbt.c.
#define FMT_ERR 0x1 |
Definition at line 218 of file alias_nbt.c.
#define IMP_ERR 0x4 |
Definition at line 220 of file alias_nbt.c.
#define NETBIOS_DGM_PORT_NUMBER 138 |
Definition at line 72 of file alias_nbt.c.
#define NETBIOS_NS_PORT_NUMBER 137 |
Definition at line 71 of file alias_nbt.c.
#define OpQuery 0 |
Definition at line 203 of file alias_nbt.c.
#define OpRefresh 8 |
Definition at line 208 of file alias_nbt.c.
#define OpRegist 5 |
Definition at line 205 of file alias_nbt.c.
#define OpRelease 6 |
Definition at line 206 of file alias_nbt.c.
#define OpUnknown 4 |
Definition at line 204 of file alias_nbt.c.
#define OpWACK 7 |
Definition at line 207 of file alias_nbt.c.
#define QS_CLAS_IN 0x0001 |
Definition at line 407 of file alias_nbt.c.
#define QS_TYPE_NB 0x0020 |
Definition at line 405 of file alias_nbt.c.
#define QS_TYPE_NBSTAT 0x0021 |
Definition at line 406 of file alias_nbt.c.
#define RFS_ERR 0x5 |
Definition at line 221 of file alias_nbt.c.
#define RR_CLAS_IN 0x0001 |
Definition at line 455 of file alias_nbt.c.
#define RR_TYPE_A 0x0001 |
Definition at line 450 of file alias_nbt.c.
#define RR_TYPE_NB 0x0020 |
Definition at line 453 of file alias_nbt.c.
#define RR_TYPE_NBSTAT 0x0021 |
Definition at line 454 of file alias_nbt.c.
#define RR_TYPE_NS 0x0002 |
Definition at line 451 of file alias_nbt.c.
#define RR_TYPE_NULL 0x000a |
Definition at line 452 of file alias_nbt.c.
#define SizeOfNsResource 8 |
Definition at line 456 of file alias_nbt.c.
#define SizeOfNsRNB 6 |
Definition at line 464 of file alias_nbt.c.
#define SizeOfResourceA 6 |
Definition at line 538 of file alias_nbt.c.
#define SRV_ERR 0x2 |
Definition at line 219 of file alias_nbt.c.
__FBSDID | ( | "$FreeBSD$" | ) |
|
static |
Definition at line 251 of file alias_nbt.c.
Referenced by AliasHandleQuestion(), AliasHandleResource(), AliasHandleResourceNS(), and AliasHandleUdpNbt().
|
static |
Definition at line 414 of file alias_nbt.c.
References AliasHandleName(), count, QS_TYPE_NB, QS_TYPE_NBSTAT, and NBTNsQuestion::type.
Referenced by AliasHandleUdpNbtNS().
|
static |
Definition at line 699 of file alias_nbt.c.
References AliasHandleName(), AliasHandleResourceA(), AliasHandleResourceNB(), AliasHandleResourceNBSTAT(), AliasHandleResourceNS(), AliasHandleResourceNULL(), count, RR_TYPE_A, RR_TYPE_NB, RR_TYPE_NBSTAT, RR_TYPE_NS, RR_TYPE_NULL, and NBTNsResource::type.
Referenced by AliasHandleUdpNbtNS().
|
static |
Definition at line 544 of file alias_nbt.c.
References NBTNsResourceA::addr, ADJUST_CHECKSUM, INET_NTOA_BUF, inet_ntoa_r(), NBTArguments::newaddr, NBTArguments::oldaddr, NBTNsResource::rdlen, SizeOfResourceA, and NBTArguments::uh_sum.
Referenced by AliasHandleResource().
|
static |
Definition at line 471 of file alias_nbt.c.
References NBTNsRNB::addr, ADJUST_CHECKSUM, INET_NTOA_BUF, inet_ntoa_r(), NBTArguments::newaddr, NBTArguments::oldaddr, NBTNsResource::rdlen, SizeOfNsResource, SizeOfNsRNB, and NBTArguments::uh_sum.
Referenced by AliasHandleResource().
|
static |
Definition at line 673 of file alias_nbt.c.
References NBTNsResource::rdlen.
Referenced by AliasHandleResource().
|
static |
Definition at line 640 of file alias_nbt.c.
References AliasHandleName(), and NBTNsResource::rdlen.
Referenced by AliasHandleResource().
|
static |
Definition at line 605 of file alias_nbt.c.
References NBTNsResource::rdlen.
Referenced by AliasHandleResource().
|
static |
Definition at line 327 of file alias_nbt.c.
References ADJUST_CHECKSUM, AliasHandleName(), DGM_BROADCAST, DGM_DIRECT_GROUP, DGM_DIRECT_UNIQ, DGM_ERROR, DGM_NEGATIVE_RES, DGM_POSITIVE_RES, DGM_QUERY, INET_NTOA_BUF, inet_ntoa_r(), NbtDataHeader::source_ip, NbtDataHeader::source_port, NbtDataHeader::type, udphdr::uh_sum, and udphdr::uh_ulen.
Referenced by protohandler1().
|
static |
Definition at line 753 of file alias_nbt.c.
References AliasHandleQuestion(), AliasHandleResource(), NbtNSHeader::ancount, NbtNSHeader::arcount, NbtNSHeader::dir, NbtNSHeader::nametrid, NBTArguments::newaddr, NBTArguments::newport, NbtNSHeader::nmflags, NbtNSHeader::nscount, NBTArguments::oldaddr, NBTArguments::oldport, NbtNSHeader::opcode, NbtNSHeader::qdcount, NbtNSHeader::rcode, NBTArguments::uh_sum, udphdr::uh_sum, and udphdr::uh_ulen.
Referenced by protohandler2in(), and protohandler2out().
DECLARE_MODULE | ( | alias_nbt | , |
alias_mod | , | ||
SI_SUB_DRIVERS | , | ||
SI_ORDER_SECOND | |||
) |
|
static |
Definition at line 82 of file alias_nbt.c.
References alias_data::aaddr, alias_data::aport, alias_data::dport, alias_data::lnk, NETBIOS_DGM_PORT_NUMBER, and alias_data::sport.
|
static |
Definition at line 100 of file alias_nbt.c.
References alias_data::aaddr, alias_data::aport, alias_data::dport, alias_data::lnk, NETBIOS_NS_PORT_NUMBER, and alias_data::sport.
|
static |
Definition at line 153 of file alias_nbt.c.
References handlers, LibAliasAttachHandlers(), and LibAliasDetachHandlers().
MODULE_DEPEND | ( | alias_nbt | , |
libalias | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_VERSION | ( | alias_nbt | , |
1 | |||
) |
|
static |
Definition at line 94 of file alias_nbt.c.
References alias_data::aaddr, AliasHandleUdpNbt(), alias_data::aport, and alias_data::lnk.
|
static |
Definition at line 112 of file alias_nbt.c.
References alias_data::aaddr, AliasHandleUdpNbtNS(), alias_data::aport, alias_data::dport, alias_data::lnk, and alias_data::oaddr.
|
static |
Definition at line 120 of file alias_nbt.c.
References alias_data::aaddr, AliasHandleUdpNbtNS(), alias_data::aport, alias_data::lnk, and alias_data::sport.
|
static |
Definition at line 175 of file alias_nbt.c.
struct proto_handler handlers[] |
Definition at line 127 of file alias_nbt.c.
Referenced by mod_handler().