All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
tcp.c File Reference
#include "avformat.h"
#include "libavutil/avassert.h"
#include "libavutil/parseutils.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include "internal.h"
#include "network.h"
#include "os_support.h"
#include "url.h"

Go to the source code of this file.

Data Structures

struct  TCPContext


#define OFFSET(x)   offsetof(TCPContext, x)


static void customize_fd (void *ctx, int fd)
static int tcp_open (URLContext *h, const char *uri, int flags)
static int tcp_accept (URLContext *s, URLContext **c)
static int tcp_read (URLContext *h, uint8_t *buf, int size)
static int tcp_write (URLContext *h, const uint8_t *buf, int size)
static int tcp_shutdown (URLContext *h, int flags)
static int tcp_close (URLContext *h)
static int tcp_get_file_handle (URLContext *h)
static int tcp_get_window_size (URLContext *h)


static const AVOption options []
static const AVClass tcp_class
const URLProtocol ff_tcp_protocol

Macro Definition Documentation

#define OFFSET (   x)    offsetof(TCPContext, x)

Definition at line 50 of file tcp.c.

Definition at line 51 of file tcp.c.

Definition at line 52 of file tcp.c.

Function Documentation

static void customize_fd ( void ctx,
int  fd 

Definition at line 73 of file tcp.c.

Referenced by ff_connect_parallel(), start_connect_attempt(), and tcp_open().

static int tcp_open ( URLContext h,
const char *  uri,
int  flags 

Definition at line 103 of file tcp.c.

static int tcp_accept ( URLContext s,
URLContext **  c 

Definition at line 216 of file tcp.c.

static int tcp_read ( URLContext h,
uint8_t buf,
int  size 

Definition at line 234 of file tcp.c.

static int tcp_write ( URLContext h,
const uint8_t buf,
int  size 

Definition at line 250 of file tcp.c.

static int tcp_shutdown ( URLContext h,
int  flags 

Definition at line 264 of file tcp.c.

static int tcp_close ( URLContext h)

Definition at line 280 of file tcp.c.

static int tcp_get_file_handle ( URLContext h)

Definition at line 287 of file tcp.c.

static int tcp_get_window_size ( URLContext h)

Definition at line 293 of file tcp.c.

Variable Documentation

const AVOption options[]
Initial value:
= {
{ "listen", "Listen for incoming connections", OFFSET(listen), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 2, .flags = D|E },
{ "timeout", "set timeout (in microseconds) of socket I/O operations", OFFSET(rw_timeout), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
{ "listen_timeout", "Connection awaiting timeout (in milliseconds)", OFFSET(listen_timeout), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
{ "send_buffer_size", "Socket send buffer size (in bytes)", OFFSET(send_buffer_size), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
{ "recv_buffer_size", "Socket receive buffer size (in bytes)", OFFSET(recv_buffer_size), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
{ "tcp_nodelay", "Use TCP_NODELAY to disable nagle's algorithm", OFFSET(tcp_nodelay), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, .flags = D|E },
{ "tcp_mss", "Maximum segment size for outgoing TCP packets", OFFSET(tcp_mss), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E },
{ NULL }
#define NULL
Definition: coverity.c:32
#define E
Definition: tcp.c:52
#define D
Definition: tcp.c:51
#define OFFSET(x)
Definition: tcp.c:50

Definition at line 53 of file tcp.c.

const AVClass tcp_class
Initial value:
= {
.class_name = "tcp",
.item_name = av_default_item_name,
.option = options,
Definition: version.h:85
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:191
static const AVOption options[]
Definition: tcp.c:53

Definition at line 66 of file tcp.c.

const URLProtocol ff_tcp_protocol
Initial value:
= {
.name = "tcp",
.url_open = tcp_open,
.url_accept = tcp_accept,
.url_read = tcp_read,
.url_write = tcp_write,
.url_close = tcp_close,
.url_get_file_handle = tcp_get_file_handle,
.url_get_short_seek = tcp_get_window_size,
.url_shutdown = tcp_shutdown,
.priv_data_size = sizeof(TCPContext),
.priv_data_class = &tcp_class,
Definition: url.h:34
static const AVClass tcp_class
Definition: tcp.c:66
static int tcp_open(URLContext *h, const char *uri, int flags)
Definition: tcp.c:103
static int tcp_read(URLContext *h, uint8_t *buf, int size)
Definition: tcp.c:234
static int tcp_close(URLContext *h)
Definition: tcp.c:280
static int tcp_shutdown(URLContext *h, int flags)
Definition: tcp.c:264
static int tcp_get_window_size(URLContext *h)
Definition: tcp.c:293
Definition: tcp.c:35
#define flags(name, subs,...)
Definition: cbs_av1.c:596
static int tcp_write(URLContext *h, const uint8_t *buf, int size)
Definition: tcp.c:250
static int tcp_get_file_handle(URLContext *h)
Definition: tcp.c:287
static int tcp_accept(URLContext *s, URLContext **c)
Definition: tcp.c:216

Definition at line 313 of file tcp.c.