[insert project logo here (125x200px max)]

Navigator

Mailinglists

Please report any errors or ommissions you find to our `Help' mailinglist, or post a message in the Forums.

Copyright and Licensing Information

Snap is (c) Jonathan T. Moore, 1999-2002 and licensed under the GNU General Public License (GPL).

All other parts of Splash are (c) Willem de Bruijn, 2002-2003 and licensed under the BSD Open Source License.

All sourcecode is made publicly available.

Acknowledgement

Splash and the Splash website are hosted by SourceForge.net

SourceForge.net Logo

osi-open source certified logo

Splash - Documentation

SNMP Plus a Lightweight API for SNAP Handling

Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals  

snap-1.1-wjdb/lib/libsnap.c File Reference

#include <stdarg.h>
#include <pthread.h>
#include <assert.h>
#include <features.h>
#include <getopt.h>
#include <net/if_arp.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#include <libgen.h>
#include <asm/types.h>
#include <linux/if_packet.h>
#include <linux/if_ether.h>
#include "d_printf.h"
#include "snapnet.h"
#include "packet.h"
#include "snap.h"
#include "version.h"
#include "interp.h"
#include "snap_kern_iface.h"
#include "snap_svc_handler.h"

Include dependency graph for libsnap.c:

Include dependency graph

Go to the source code of this file.


Data Structures

struct  cmdline_args
struct  glob_conf

Defines

#define _GNU_SOURCE
#define NIPQUAD(addr)
#define UDPPORT   7777

Functions

int snap_receive ()
void usage (char *myname)
void parse_cmdline_snap (int argc, char *argv[])
int snap (struct cmdline_args *cargs)
int add_snap_handler (fd_set *activeset)
int isset_snap_handler (fd_set *activeset)
void clear_snap_handler (fd_set *activeset)
int handle_snap_request ()
void parse_cmdline_snap (int argc, char **argv)
int init_snap (int argc, char **argv)

Variables

glob_conf gc
int ethsock = -1
int losock = -1
int rawiprecvsock = -1
int maxfd
packet_tp
fd_set rfds
unsigned char ra_space [4]
sockaddr_in bindaddr
sockaddr_in udpaddr

Define Documentation

#define _GNU_SOURCE
 

Definition at line 8 of file libsnap.c.

#define NIPQUAD addr   
 

Value:

((unsigned char *)&(addr))[0], \
        ((unsigned char *)&(addr))[1], \
        ((unsigned char *)&(addr))[2], \
        ((unsigned char *)&(addr))[3]

Definition at line 42 of file libsnap.c.

Referenced by main(), and parse_cmdline_snap().

#define UDPPORT   7777
 

Definition at line 49 of file libsnap.c.


Function Documentation

int add_snap_handler fd_set *    activeset
 

Definition at line 181 of file libsnap.c.

References ethsock, and rawiprecvsock.

void clear_snap_handler fd_set *    activeset
 

Definition at line 194 of file libsnap.c.

References rawiprecvsock.

int handle_snap_request  
 

Definition at line 202 of file libsnap.c.

References d_printf_timed(), rawiprecvsock, snap_interp_packet(), and snap_recv_pkt().

int init_snap int    argc,
char **    argv
 

Definition at line 370 of file libsnap.c.

References cmdline_args::argc, cmdline_args::argv, and snap().

Referenced by main().

int isset_snap_handler fd_set *    activeset
 

Definition at line 188 of file libsnap.c.

References rawiprecvsock.

void parse_cmdline_snap int    argc,
char **    argv
 

Definition at line 281 of file libsnap.c.

References basename(), d_printf(), gc, glob_conf::herehint, NIPQUAD, set_debug_level_int(), and usage().

Referenced by snap().

void parse_cmdline_snap int    argc,
char *    argv[]
 

int snap struct cmdline_args   cargs
 

Definition at line 79 of file libsnap.c.

References cmdline_args::argc, bindaddr, d_printf(), ethsock, gc, glob_conf::herehint, losock, maxfd, parse_cmdline_snap(), ra_space, rawiprecvsock, set_debug_level(), and snap_svc_handler_init().

Referenced by init_snap().

int snap_receive  
 

Definition at line 222 of file libsnap.c.

References d_printf(), d_printf_timed(), maxfd, rawiprecvsock, rfds, snap_interp_packet(), and snap_recv_pkt().

Referenced by main().

void usage char *    myname
 

Definition at line 272 of file libsnap.c.


Variable Documentation

struct sockaddr_in bindaddr
 

Definition at line 76 of file libsnap.c.

Referenced by snap(), snap_demux_init_rawip(), and snap_demux_init_udp().

int ethsock = -1
 

Definition at line 67 of file libsnap.c.

Referenced by add_snap_handler(), and snap().

struct glob_conf gc
 

Referenced by parse_cmdline_snap(), and snap().

int losock = -1
 

Definition at line 68 of file libsnap.c.

Referenced by snap().

int maxfd
 

Definition at line 71 of file libsnap.c.

Referenced by snap(), and snap_receive().

packet_t* p
 

Definition at line 72 of file libsnap.c.

unsigned char ra_space[4]
 

Definition at line 75 of file libsnap.c.

Referenced by init_request(), main(), and snap().

int rawiprecvsock = -1
 

Definition at line 70 of file libsnap.c.

Referenced by add_snap_handler(), clear_snap_handler(), handle_snap_request(), isset_snap_handler(), snap(), and snap_receive().

fd_set rfds
 

Definition at line 74 of file libsnap.c.

Referenced by snap_receive().

struct sockaddr_in udpaddr
 

Definition at line 77 of file libsnap.c.