Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
Functions
capture_sync.h File Reference

Go to the source code of this file.

Functions

gboolean sync_pipe_start (capture_options *capture_opts, capture_session *cap_session, struct _info_data *cap_data, void(*update_cb)(void))
 
void sync_pipe_stop (capture_session *cap_session)
 
void sync_pipe_kill (ws_process_id fork_child)
 
int sync_interface_set_80211_chan (const gchar *iface, const char *freq, const gchar *type, const gchar *center_freq1, const gchar *center_freq2, gchar **data, gchar **primary_msg, gchar **secondary_msg, void(*update_cb)(void))
 
int sync_interface_list_open (gchar **data, gchar **primary_msg, gchar **secondary_msg, void(*update_cb)(void))
 
int sync_if_capabilities_open (const gchar *ifname, gboolean monitor_mode, const gchar *auth, gchar **data, gchar **primary_msg, gchar **secondary_msg, void(*update_cb)(void))
 
int sync_interface_stats_open (int *read_fd, ws_process_id *fork_child, gchar **msg, void(*update_cb)(void))
 
int sync_interface_stats_close (int *read_fd, ws_process_id *fork_child, gchar **msg)
 
int sync_pipe_gets_nonblock (int pipe_fd, char *bytes, int max)
 
gboolean capture_input_new_file (capture_session *cap_session, gchar *new_file)
 
void capture_input_new_packets (capture_session *cap_session, int to_read)
 
void capture_input_drops (capture_session *cap_session, guint32 dropped)
 
void capture_input_error_message (capture_session *cap_session, char *error_message, char *secondary_error_msg)
 
void capture_input_cfilter_error_message (capture_session *cap_session, guint i, char *error_message)
 
void capture_input_closed (capture_session *cap_session, gchar *msg)
 
void capture_sync_set_fetch_dumpcap_pid_cb (void(*cb)(ws_process_id pid))
 

Detailed Description

Sync mode capture (internal interface).

Will start a new Wireshark child instance which will do the actual capture work.

Function Documentation

void capture_input_cfilter_error_message ( capture_session cap_session,
guint  i,
char *  error_message 
)

Capture child told us that an error has occurred while parsing a capture filter when starting/running the capture.

void capture_input_closed ( capture_session cap_session,
gchar *  msg 
)

Capture child closed its side of the pipe, report any error and do the required cleanup.

void capture_input_drops ( capture_session cap_session,
guint32  dropped 
)

Capture child told us how many dropped packets it counted.

void capture_input_error_message ( capture_session cap_session,
char *  error_message,
char *  secondary_error_msg 
)

Capture child told us that an error has occurred while starting the capture.

gboolean capture_input_new_file ( capture_session cap_session,
gchar *  new_file 
)

Capture child told us we have a new (or the first) capture file.

void capture_input_new_packets ( capture_session cap_session,
int  to_read 
)

Capture child told us we have new packets to read.

int sync_if_capabilities_open ( const gchar *  ifname,
gboolean  monitor_mode,
const gchar *  auth,
gchar **  data,
gchar **  primary_msg,
gchar **  secondary_msg,
void(*)(void)  update_cb 
)

Get interface capabilities using dumpcap

int sync_interface_list_open ( gchar **  data,
gchar **  primary_msg,
gchar **  secondary_msg,
void(*)(void)  update_cb 
)

Get an interface list using dumpcap

int sync_interface_set_80211_chan ( const gchar *  iface,
const char *  freq,
const gchar *  type,
const gchar *  center_freq1,
const gchar *  center_freq2,
gchar **  data,
gchar **  primary_msg,
gchar **  secondary_msg,
void(*)(void)  update_cb 
)

Set wireless channel using dumpcap On success, *data points to a buffer containing the dumpcap output, *primary_msg and *secondary_msg are NULL, and 0 is returned. *data must be freed with g_free().

On failure, *data is NULL, *primary_msg points to an error message, *secondary_msg either points to an additional error message or is NULL, and -1 or errno value is returned; *primary_msg, and *secondary_msg if not NULL must be freed with g_free().

Parameters
iface(monitor) network interface name
freqchannel control frequency string (in MHz)
typechannel type string (or NULL if not used)
center_freq1VHT channel center frequency (or NULL if not used)
center_freq2VHT channel center frequency 2 (or NULL if not used)
Returns
0 on success
int sync_interface_stats_close ( int *  read_fd,
ws_process_id *  fork_child,
gchar **  msg 
)

Stop gathering statistics.

int sync_interface_stats_open ( int *  read_fd,
ws_process_id *  fork_child,
gchar **  msg,
void(*)(void)  update_cb 
)

Start getting interface statistics using dumpcap.

int sync_pipe_gets_nonblock ( int  pipe_fd,
char *  bytes,
int  max 
)

Read a line from a pipe, similar to fgets. Non-blocking.

void sync_pipe_kill ( ws_process_id  fork_child)

User wants to stop the program, just kill the child as soon as possible

gboolean sync_pipe_start ( capture_options capture_opts,
capture_session cap_session,
struct _info_data cap_data,
void(*)(void)  update_cb 
)

Start a new capture session. Create a capture child which is doing the real capture work. The various capture_input_... functions will be called, if something had happened.

Most of the parameters are passed through the global capture_opts.

Parameters
capture_optsthe options
cap_sessiona handle for the capture session
cap_dataa struct with capture info data
update_cbupdate screen
Returns
TRUE if a capture could be started, FALSE if not
void sync_pipe_stop ( capture_session cap_session)

User wants to stop capturing, gracefully close the capture child