Fork me on GitHub
text2pcap.h
Go to the documentation of this file.
1 
36 #ifndef JANUS_TEXT2PCAP_H
37 #define JANUS_TEXT2PCAP_H
38 
39 #include <glib.h>
40 
41 #include <inttypes.h>
42 #include <string.h>
43 #include <stdio.h>
44 #include <stdlib.h>
45 
46 #include "mutex.h"
47 
49 typedef struct janus_text2pcap {
51  char *filename;
53  FILE *file;
55  int truncate;
57  gboolean text;
59  volatile int writable;
63 
65 typedef enum janus_text2pcap_packet {
71 
80 janus_text2pcap *janus_text2pcap_create(const char *dir, const char *filename, int truncate, gboolean text);
81 
91  janus_text2pcap_packet type, gboolean incoming, char *buf, int len, const char *format, ...) G_GNUC_PRINTF(6, 7);
92 
97 
100 void janus_text2pcap_free(janus_text2pcap *instance);
101 
102 #endif
Semaphors, Mutexes and Conditions.
GMutex janus_mutex
Janus mutex implementation.
Definition: mutex.h:73
Instance of a text2pcap recorder.
Definition: text2pcap.h:49
gboolean text
Whether we'll save as text, or directly to pcap.
Definition: text2pcap.h:57
char * filename
Absolute path to where the text2pcap file is stored.
Definition: text2pcap.h:51
FILE * file
Pointer to the file handle.
Definition: text2pcap.h:53
int truncate
Number of bytes to truncate at.
Definition: text2pcap.h:55
volatile int writable
Whether we can write to this file or not.
Definition: text2pcap.h:59
janus_mutex mutex
Mutex to lock/unlock this recorder instance.
Definition: text2pcap.h:61
const char * janus_text2pcap_packet_string(janus_text2pcap_packet type)
Definition: text2pcap.c:58
janus_text2pcap * janus_text2pcap_create(const char *dir, const char *filename, int truncate, gboolean text)
Create a text2pcap recorder.
Definition: text2pcap.c:155
void janus_text2pcap_free(janus_text2pcap *instance)
Free a text2pcap instance.
Definition: text2pcap.c:326
int janus_text2pcap_dump(janus_text2pcap *instance, janus_text2pcap_packet type, gboolean incoming, char *buf, int len, const char *format,...) G_GNUC_PRINTF(6
Dump an RTP or RTCP packet.
janus_text2pcap_packet
Packet types we can dump.
Definition: text2pcap.h:65
@ JANUS_TEXT2PCAP_RTCP
Definition: text2pcap.h:67
@ JANUS_TEXT2PCAP_DATA
Definition: text2pcap.h:68
@ JANUS_TEXT2PCAP_RTP
Definition: text2pcap.h:66
int int janus_text2pcap_close(janus_text2pcap *instance)
Close a text2pcap recorder.
Definition: text2pcap.c:312
struct janus_text2pcap janus_text2pcap
Instance of a text2pcap recorder.