Wireshark  4.3.0
The Wireshark network protocol analyzer
Functions
capture_sync.h File Reference

Go to the source code of this file.

Functions

bool sync_pipe_start (capture_options *capture_opts, GPtrArray *capture_comments, 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 char *iface, const char *freq, const char *type, const char *center_freq1, const char *center_freq2, char **data, char **primary_msg, char **secondary_msg, void(*update_cb)(void))
 
int sync_interface_list_open (char **data, char **primary_msg, char **secondary_msg, void(*update_cb)(void))
 
int sync_if_capabilities_open (const char *ifname, bool monitor_mode, const char *auth, char **data, char **primary_msg, char **secondary_msg, void(*update_cb)(void))
 
int sync_if_list_capabilities_open (GList *ifqueries, char **data, char **primary_msg, char **secondary_msg, void(*update_cb)(void))
 
int sync_interface_stats_open (int *read_fd, ws_process_id *fork_child, char **data, char **msg, void(*update_cb)(void))
 
int sync_interface_stats_close (int *read_fd, ws_process_id *fork_child, char **msg)
 
int sync_pipe_gets_nonblock (int pipe_fd, char *bytes, int max)
 
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

◆ sync_if_capabilities_open()

int sync_if_capabilities_open ( const char *  ifname,
bool  monitor_mode,
const char *  auth,
char **  data,
char **  primary_msg,
char **  secondary_msg,
void(*)(void)  update_cb 
)

Get interface capabilities using dumpcap

◆ sync_interface_list_open()

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

Get an interface list using dumpcap

◆ sync_interface_set_80211_chan()

int sync_interface_set_80211_chan ( const char *  iface,
const char *  freq,
const char *  type,
const char *  center_freq1,
const char *  center_freq2,
char **  data,
char **  primary_msg,
char **  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)
dataOn success, *data points to a buffer containing the dumpcap output, On failure *data is NULL
primary_msgOn success NULL, On failure points to an error message
secondary_msgOn success NULL, On failure either points to an additional error message or is NULL
update_cbupdate callback
Returns
0 on success

◆ sync_interface_stats_close()

int sync_interface_stats_close ( int *  read_fd,
ws_process_id *  fork_child,
char **  msg 
)

Stop gathering statistics.

◆ sync_interface_stats_open()

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

Start getting interface statistics using dumpcap.

◆ sync_pipe_gets_nonblock()

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

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

◆ sync_pipe_kill()

void sync_pipe_kill ( ws_process_id  fork_child)

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

◆ sync_pipe_start()

bool sync_pipe_start ( capture_options capture_opts,
GPtrArray *  capture_comments,
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
capture_commentsif not NULL, a GPtrArray * to a set of comments to put in the capture file's Section Header Block if it's a pcapng file
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

◆ sync_pipe_stop()

void sync_pipe_stop ( capture_session cap_session)

User wants to stop capturing, gracefully close the capture child