FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
libssh.c File Reference
#include <fcntl.h>
#include <libssh/sftp.h>
#include "libavutil/avstring.h"
#include "libavutil/opt.h"
#include "libavutil/attributes.h"
#include "avformat.h"
#include "internal.h"
#include "url.h"

Go to the source code of this file.

Data Structures

struct  LIBSSHContext
 

Macros

#define LIBSSH_STATIC
 
#define OFFSET(x)   offsetof(LIBSSHContext, x)
 
#define D   AV_OPT_FLAG_DECODING_PARAM
 
#define E   AV_OPT_FLAG_ENCODING_PARAM
 

Functions

static av_cold int libssh_create_ssh_session (LIBSSHContext *libssh, const char *hostname, unsigned int port)
 
static av_cold int libssh_authentication (LIBSSHContext *libssh, const char *user, const char *password)
 
static av_cold int libssh_create_sftp_session (LIBSSHContext *libssh)
 
static av_cold int libssh_open_file (LIBSSHContext *libssh, int flags, const char *file)
 
static av_cold void libssh_stat_file (LIBSSHContext *libssh)
 
static av_cold int libssh_close (URLContext *h)
 
static av_cold int libssh_open (URLContext *h, const char *url, int flags)
 
static int64_t libssh_seek (URLContext *h, int64_t pos, int whence)
 
static int libssh_read (URLContext *h, unsigned char *buf, int size)
 
static int libssh_write (URLContext *h, const unsigned char *buf, int size)
 

Variables

static const AVOption options []
 
static const AVClass libssh_context_class
 
URLProtocol ff_libssh_protocol
 

Macro Definition Documentation

#define LIBSSH_STATIC

Definition at line 22 of file libssh.c.

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

Definition at line 291 of file libssh.c.

Definition at line 292 of file libssh.c.

Definition at line 293 of file libssh.c.

Function Documentation

static av_cold int libssh_create_ssh_session ( LIBSSHContext libssh,
const char *  hostname,
unsigned int  port 
)
static

Definition at line 42 of file libssh.c.

Referenced by libssh_open().

static av_cold int libssh_authentication ( LIBSSHContext libssh,
const char *  user,
const char *  password 
)
static

Definition at line 66 of file libssh.c.

Referenced by libssh_open().

static av_cold int libssh_create_sftp_session ( LIBSSHContext libssh)
static

Definition at line 115 of file libssh.c.

Referenced by libssh_open().

static av_cold int libssh_open_file ( LIBSSHContext libssh,
int  flags,
const char *  file 
)
static

Definition at line 130 of file libssh.c.

Referenced by libssh_open().

static av_cold void libssh_stat_file ( LIBSSHContext libssh)
static

Definition at line 154 of file libssh.c.

Referenced by libssh_open().

static av_cold int libssh_close ( URLContext h)
static

Definition at line 167 of file libssh.c.

Referenced by libssh_open().

static av_cold int libssh_open ( URLContext h,
const char *  url,
int  flags 
)
static

Definition at line 186 of file libssh.c.

static int64_t libssh_seek ( URLContext h,
int64_t  pos,
int  whence 
)
static

Definition at line 228 of file libssh.c.

static int libssh_read ( URLContext h,
unsigned char *  buf,
int  size 
)
static

Definition at line 267 of file libssh.c.

static int libssh_write ( URLContext h,
const unsigned char *  buf,
int  size 
)
static

Definition at line 279 of file libssh.c.

Variable Documentation

const AVOption options[]
static
Initial value:
= {
{"timeout", "set timeout of socket I/O operations", OFFSET(rw_timeout), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, D|E },
{"truncate", "Truncate existing files on write", OFFSET(trunc), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, E },
{"private_key", "set path to private key", OFFSET(priv_key), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, D|E },
{NULL}
}

Definition at line 294 of file libssh.c.

const AVClass libssh_context_class
static
Initial value:
= {
.class_name = "libssh",
.item_name = av_default_item_name,
.option = options,
}

Definition at line 301 of file libssh.c.

URLProtocol ff_libssh_protocol
Initial value:
= {
.name = "sftp",
.url_open = libssh_open,
.url_read = libssh_read,
.url_write = libssh_write,
.url_seek = libssh_seek,
.url_close = libssh_close,
.priv_data_size = sizeof(LIBSSHContext),
.priv_data_class = &libssh_context_class,
}

Definition at line 308 of file libssh.c.