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

Data Structures | Typedefs | Enumerations | Functions
Simple PCAP file reader

Data Structures

struct  pj_pcap_udp_hdr
struct  pj_pcap_filter


typedef struct pj_pcap_file pj_pcap_file


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


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.


Ethernet data link

Enumeration to describe supported protocol types.


UDP protocol

Function Documentation

pj_status_t pj_pcap_close ( pj_pcap_file file)

Close PCAP file.

filePCAP file handle.
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.

filterFilter to be initialized.
pj_status_t pj_pcap_open ( pj_pool_t pool,
const char *  path,
pj_pcap_file **  p_file 

Open PCAP file.

poolPool to allocate memory.
pathFile/path name.
p_filePointer to receive PCAP file handle.
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.

filePCAP file handle.
udp_hdrOptional buffer to receive UDP header.
udp_payloadBuffer to receive the UDP payload.
udp_payload_sizeOn 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.
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.

filePCAP file handle.
filterThe filter.
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.