xine-lib 1.2.11
Data Structures | Macros | Functions | Variables
input_smb.c File Reference
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
#include <xine/input_plugin.h>
#include <libsmbclient.h>
#include <sys/types.h>
#include <errno.h>

Data Structures

struct  smb_input_class_t
 
struct  smb_input_t
 

Macros

#define MAXFILES   65535
 
#define S_N   0x0
 
#define S_I   0x4
 
#define S_F   0x8
 
#define S_Z   0xC
 
#define CMP   2
 
#define LEN   3
 
#define ISDIGIT(c)   ((unsigned) (c) - '0' <= 9)
 

Functions

static uint32_t smb_plugin_get_capabilities (input_plugin_t *this_gen)
 
static off_t smb_plugin_read (input_plugin_t *this_gen, void *buf_gen, off_t len)
 
static buf_element_tsmb_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t todo)
 
static off_t smb_plugin_seek (input_plugin_t *this_gen, off_t offset, int origin)
 
static off_t smb_plugin_get_current_pos (input_plugin_t *this_gen)
 
static off_t smb_plugin_get_length (input_plugin_t *this_gen)
 
static const char * smb_plugin_get_mrl (input_plugin_t *this_gen)
 
static uint32_t smb_plugin_get_blocksize (input_plugin_t *this_gen)
 
static int _strverscmp (const char *s1, const char *s2)
 
static int _sortfiles_default (const xine_mrl_t *s1, const xine_mrl_t *s2)
 
static xine_mrl_t ** smb_class_get_dir (input_class_t *this_gen, const char *filename, int *nFiles)
 
static int smb_plugin_get_optional_data (input_plugin_t *this_gen, void *data, int data_type)
 
static void smb_plugin_dispose (input_plugin_t *this_gen)
 
static int smb_plugin_open (input_plugin_t *this_gen)
 
static void smb_class_dispose (input_class_t *this_gen)
 
static input_plugin_tsmb_class_get_instance (input_class_t *class_gen, xine_stream_t *stream, const char *mrl)
 
static void smb_auth (const char *srv, const char *shr, char *wg, int wglen, char *un, int unlen, char *pw, int pwlen)
 
static void * init_input_class (xine_t *xine, const void *data)
 

Variables

static const input_info_t input_info_smb
 
const plugin_info_t xine_plugin_info[] EXPORTED
 

Macro Definition Documentation

◆ CMP

#define CMP   2

◆ ISDIGIT

#define ISDIGIT (   c)    ((unsigned) (c) - '0' <= 9)

◆ LEN

#define LEN   3

◆ MAXFILES

#define MAXFILES   65535

◆ S_F

#define S_F   0x8

◆ S_I

#define S_I   0x4

◆ S_N

#define S_N   0x0

◆ S_Z

#define S_Z   0xC

Function Documentation

◆ _sortfiles_default()

static int _sortfiles_default ( const xine_mrl_t s1,
const xine_mrl_t s2 
)
static

References _strverscmp(), and xine_mrl_s::mrl.

Referenced by smb_class_get_dir().

◆ _strverscmp()

static int _strverscmp ( const char *  s1,
const char *  s2 
)
static

References CMP, ISDIGIT, LEN, S_F, S_I, S_N, and S_Z.

Referenced by _sortfiles_default().

◆ init_input_class()

static void * init_input_class ( xine_t xine,
const void *  data 
)
static

◆ smb_auth()

static void smb_auth ( const char *  srv,
const char *  shr,
char *  wg,
int  wglen,
char *  un,
int  unlen,
char *  pw,
int  pwlen 
)
static

Referenced by init_input_class().

◆ smb_class_dispose()

static void smb_class_dispose ( input_class_t this_gen)
static

◆ smb_class_get_dir()

static xine_mrl_t ** smb_class_get_dir ( input_class_t this_gen,
const char *  filename,
int *  nFiles 
)
static

◆ smb_class_get_instance()

static input_plugin_t * smb_class_get_instance ( input_class_t class_gen,
xine_stream_t stream,
const char *  mrl 
)
static

◆ smb_plugin_dispose()

static void smb_plugin_dispose ( input_plugin_t this_gen)
static

Referenced by smb_class_get_instance().

◆ smb_plugin_get_blocksize()

static uint32_t smb_plugin_get_blocksize ( input_plugin_t this_gen)
static

Referenced by smb_class_get_instance().

◆ smb_plugin_get_capabilities()

static uint32_t smb_plugin_get_capabilities ( input_plugin_t this_gen)
static

References INPUT_CAP_SEEKABLE.

Referenced by smb_class_get_instance().

◆ smb_plugin_get_current_pos()

static off_t smb_plugin_get_current_pos ( input_plugin_t this_gen)
static

Referenced by smb_class_get_instance().

◆ smb_plugin_get_length()

static off_t smb_plugin_get_length ( input_plugin_t this_gen)
static

Referenced by smb_class_get_instance().

◆ smb_plugin_get_mrl()

static const char * smb_plugin_get_mrl ( input_plugin_t this_gen)
static

Referenced by smb_class_get_instance().

◆ smb_plugin_get_optional_data()

static int smb_plugin_get_optional_data ( input_plugin_t this_gen,
void *  data,
int  data_type 
)
static

◆ smb_plugin_open()

static int smb_plugin_open ( input_plugin_t this_gen)
static

◆ smb_plugin_read()

static off_t smb_plugin_read ( input_plugin_t this_gen,
void *  buf_gen,
off_t  len 
)
static

◆ smb_plugin_read_block()

static buf_element_t * smb_plugin_read_block ( input_plugin_t this_gen,
fifo_buffer_t fifo,
off_t  todo 
)
static

◆ smb_plugin_seek()

static off_t smb_plugin_seek ( input_plugin_t this_gen,
off_t  offset,
int  origin 
)
static

Referenced by smb_class_get_instance().

Variable Documentation

◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED
Initial value:
= {
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
static const input_info_t input_info_smb
Definition: input_smb.c:548
static void * init_input_class(xine_t *xine, const void *data)
Definition: input_smb.c:513
#define XINE_VERSION_CODE
Definition: xine_internal.h:57
NULL
Definition: xine_plugin.c:78
#define PLUGIN_NONE
Definition: xine_plugin.h:29
#define PLUGIN_INPUT
Definition: xine_plugin.h:30

◆ input_info_smb

const input_info_t input_info_smb
static
Initial value:
= {
.priority = 0,
}