Loading...
Searching...
No Matches
text2pcap.h
Go to the documentation of this file.
#ifndef JANUS_TEXT2PCAP_H
#define JANUS_TEXT2PCAP_H
#include <glib.h>
#include <inttypes.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "mutex.h"
typedef struct janus_text2pcap {
char *filename;
FILE *file;
int truncate;
gboolean text;
volatile int writable;
janus_mutex mutex;
} janus_text2pcap;
typedef enum janus_text2pcap_packet {
JANUS_TEXT2PCAP_RTP,
JANUS_TEXT2PCAP_RTCP,
JANUS_TEXT2PCAP_DATA
} janus_text2pcap_packet;
const char *janus_text2pcap_packet_string(janus_text2pcap_packet type);
janus_text2pcap *janus_text2pcap_create(const char *dir, const char *filename, int truncate, gboolean text);
int janus_text2pcap_dump(janus_text2pcap *instance,
janus_text2pcap_packet type, gboolean incoming, char *buf, int len, const char *format, ...) G_GNUC_PRINTF(6, 7);
int janus_text2pcap_close(janus_text2pcap *instance);
void janus_text2pcap_free(janus_text2pcap *instance);
#endif
mutex.h
Semaphores, Mutexes and Conditions.
janus_mutex
GMutex janus_mutex
Janus mutex implementation.
Definition mutex.h:73
janus_text2pcap
Instance of a text2pcap recorder.
Definition text2pcap.h:49
janus_text2pcap::text
gboolean text
Whether we'll save as text, or directly to pcap.
Definition text2pcap.h:57
janus_text2pcap::filename
char * filename
Absolute path to where the text2pcap file is stored.
Definition text2pcap.h:51
janus_text2pcap::file
FILE * file
Pointer to the file handle.
Definition text2pcap.h:53
janus_text2pcap::truncate
int truncate
Number of bytes to truncate at.
Definition text2pcap.h:55
janus_text2pcap::writable
volatile int writable
Whether we can write to this file or not.
Definition text2pcap.h:59
janus_text2pcap::mutex
janus_mutex mutex
Mutex to lock/unlock this recorder instance.
Definition text2pcap.h:61
janus_text2pcap_free
void janus_text2pcap_free(janus_text2pcap *instance)
Free a text2pcap instance.
Definition text2pcap.c:326
janus_text2pcap_close
int janus_text2pcap_close(janus_text2pcap *instance)
Close a text2pcap recorder.
Definition text2pcap.c:312
janus_text2pcap_packet_string
const char * janus_text2pcap_packet_string(janus_text2pcap_packet type)
Definition text2pcap.c:58
janus_text2pcap_create
janus_text2pcap * janus_text2pcap_create(const char *dir, const char *filename, int truncate, gboolean text)
Create a text2pcap recorder.
Definition text2pcap.c:155
janus_text2pcap_dump
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
janus_text2pcap_packet
Packet types we can dump.
Definition text2pcap.h:65
JANUS_TEXT2PCAP_RTCP
@ JANUS_TEXT2PCAP_RTCP
Definition text2pcap.h:67
JANUS_TEXT2PCAP_DATA
@ JANUS_TEXT2PCAP_DATA
Definition text2pcap.h:68
JANUS_TEXT2PCAP_RTP
@ JANUS_TEXT2PCAP_RTP
Definition text2pcap.h:66