ELinks 0.20.0
smb.c File Reference
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include "elinks.h"
#include "cache/cache.h"
#include "config/options.h"
#include "intl/gettext/libintl.h"
#include "main/module.h"
#include "main/select.h"
#include "network/connection.h"
#include "network/socket.h"
#include "osdep/osdep.h"
#include "protocol/common.h"
#include "protocol/protocol.h"
#include "protocol/smb/smb.h"
#include "protocol/uri.h"
#include "util/conv.h"
#include "util/memory.h"
#include "util/snprintf.h"
#include "util/string.h"
Include dependency graph for smb.c:

Data Structures

struct  smb_connection_info

Macros

#define _GNU_SOURCE   /* Needed for asprintf() */
#define READ_SIZE   4096
#define SMBCLIENT   "smbclient"
#define MAX_SMBCLIENT_ARGS   32

Enumerations

enum  smb_list_type { SMB_LIST_NONE , SMB_LIST_SHARES , SMB_LIST_DIR }

Functions

static void end_smb_connection (struct connection *conn)
static int smb_get_cache (struct connection *conn)
static ssize_t smb_read_data (struct connection *conn, int sock, char *dst)
static void smb_read_text (struct connection *conn, int sock)
static void smb_got_data (struct connection *conn)
static void smb_got_text (struct connection *conn)
static char * find_strs (char *line, char *str1, char *str2)
static void parse_smbclient_output (struct uri *uri, struct smb_connection_info *si, struct string *page)
void smb_protocol_handler (struct connection *conn)

Variables

union option_info smb_options []
struct module smb_protocol_module

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE   /* Needed for asprintf() */

◆ MAX_SMBCLIENT_ARGS

#define MAX_SMBCLIENT_ARGS   32

◆ READ_SIZE

#define READ_SIZE   4096

◆ SMBCLIENT

#define SMBCLIENT   "smbclient"

Enumeration Type Documentation

◆ smb_list_type

Enumerator
SMB_LIST_NONE 
SMB_LIST_SHARES 
SMB_LIST_DIR 

Function Documentation

◆ end_smb_connection()

void end_smb_connection ( struct connection * conn)
static

◆ find_strs()

char * find_strs ( char * line,
char * str1,
char * str2 )
static

◆ parse_smbclient_output()

void parse_smbclient_output ( struct uri * uri,
struct smb_connection_info * si,
struct string * page )
static

◆ smb_get_cache()

int smb_get_cache ( struct connection * conn)
static

◆ smb_got_data()

void smb_got_data ( struct connection * conn)
static

◆ smb_got_text()

void smb_got_text ( struct connection * conn)
static

◆ smb_protocol_handler()

void smb_protocol_handler ( struct connection * conn)

◆ smb_read_data()

ssize_t smb_read_data ( struct connection * conn,
int sock,
char * dst )
static

◆ smb_read_text()

void smb_read_text ( struct connection * conn,
int sock )
static

Variable Documentation

◆ smb_options

union option_info smb_options[]
Initial value:
= {
INIT_OPT_TREE("protocol", N_("SMB"),
"smb", OPT_ZERO,
N_("SAMBA specific options.")),
INIT_OPT_STRING("protocol.smb", N_("Credentials"),
"credentials", OPT_ZERO, "",
N_("Credentials file passed to smbclient via -A option.")),
NULL_OPTION_INFO,
}
@ OPT_ZERO
Definition options.h:23
#define N_(msg)
Definition libintl.h:25

◆ smb_protocol_module

struct module smb_protocol_module
Initial value:
N_("SMB"),
)
#define NULL
Definition explodename.c:35
#define struct_module(name, options, hooks, submods, data, init, done, getname)
Definition module.h:47
union option_info smb_options[]
Definition smb.c:70