pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication
Loading

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

Home --> Documentations --> PJLIB-UTIL Reference

Simple PCAP file reader
[File Formats]

Data Structures

struct  pj_pcap_udp_hdr
struct  pj_pcap_filter

Typedefs

typedef struct pj_pcap_file pj_pcap_file

Enumerations

enum  pj_pcap_link_type { PJ_PCAP_LINK_TYPE_ETH = 1 }
enum  pj_pcap_proto_type { PJ_PCAP_PROTO_TYPE_UDP = 17 }

Functions

void pj_pcap_filter_default (pj_pcap_filter *filter)
pj_status_t pj_pcap_open (pj_pool_t *pool, const char *path, pj_pcap_file **p_file)
pj_status_t pj_pcap_close (pj_pcap_file *file)
pj_status_t pj_pcap_set_filter (pj_pcap_file *file, const pj_pcap_filter *filter)
pj_status_t pj_pcap_read_udp (pj_pcap_file *file, pj_pcap_udp_hdr *udp_hdr, pj_uint8_t *udp_payload, pj_size_t *udp_payload_size)

Detailed Description

This module describes simple utility to read PCAP file. It is not intended to support all PCAP features (that's what libpcap is for!), but it can be useful for example to playback or stream PCAP contents.


Typedef Documentation

typedef struct pj_pcap_file pj_pcap_file

Opaque declaration for PCAP file


Enumeration Type Documentation

Enumeration to describe supported data link types.

Enumerator:
PJ_PCAP_LINK_TYPE_ETH 

Ethernet data link

Enumeration to describe supported protocol types.

Enumerator:
PJ_PCAP_PROTO_TYPE_UDP 

UDP protocol


Function Documentation

pj_status_t pj_pcap_close ( pj_pcap_file file  ) 

Close PCAP file.

Parameters:
file PCAP file handle.
Returns:
PJ_SUCCESS on success, or the appropriate error code.
void pj_pcap_filter_default ( pj_pcap_filter filter  ) 

Initialize filter with default values. The default value is to allow any packets.

Parameters:
filter Filter to be initialized.
pj_status_t pj_pcap_open ( pj_pool_t pool,
const char *  path,
pj_pcap_file **  p_file 
)

Open PCAP file.

Parameters:
pool Pool to allocate memory.
path File/path name.
p_file Pointer to receive PCAP file handle.
Returns:
PJ_SUCCESS if file can be opened successfully.
pj_status_t pj_pcap_read_udp ( pj_pcap_file file,
pj_pcap_udp_hdr udp_hdr,
pj_uint8_t udp_payload,
pj_size_t udp_payload_size 
)

Read UDP payload from the next packet in the PCAP file. Optionally it can return the UDP header, if caller supplies it.

Parameters:
file PCAP file handle.
udp_hdr Optional buffer to receive UDP header.
udp_payload Buffer to receive the UDP payload.
udp_payload_size On input, specify the size of the buffer. On output, it will be filled with the actual size of the payload as read from the packet.
Returns:
PJ_SUCCESS on success, or the appropriate error code.
pj_status_t pj_pcap_set_filter ( pj_pcap_file file,
const pj_pcap_filter filter 
)

Configure filter for reading the file. When filter is configured, only packets matching all the filter settings will be returned.

Parameters:
file PCAP file handle.
filter The filter.
Returns:
PJ_SUCCESS on success, or the appropriate error code.

 


PJLIB-UTIL Open Source, small footprint, and portable asynchronous/caching DNS resolver, text scanner, STUN client, and XML library
Copyright (C) 2006-2009 Teluu Inc.