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

Macros

#define READ_SIZE   4096

Functions

static const char * get_name_smb (struct module *module)
static void smb_error (struct connection_state error)
static struct directory_entryget_smb_directory_entries (int dir, struct string *prefix)
 First information such as permissions is gathered for each directory entry.
static void add_smb_dir_entry (struct directory_entry *entry, struct string *page, int pathlen, char *dircolor)
static void add_smb_dir_entries (struct directory_entry *entries, char *dirpath, struct string *page)
static void smb_directory (int dir, struct string *prefix, struct uri *uri)
static void smb_auth (const char *srv, const char *shr, char *wg, int wglen, char *un, int unlen, char *pw, int pwlen)
static void do_smb (struct connection *conn)
static void prompt_username_pw (struct connection *conn)
static void smb_got_error (struct socket *socket, struct read_buffer *rb)
static void smb_got_data (struct socket *socket, struct read_buffer *rb)
static void smb_got_header (struct socket *socket, struct read_buffer *rb)
static void close_all_fds_but_two (int header, int data)
void smb_protocol_handler (struct connection *conn)

Variables

struct module smb_protocol_module
static FILE * header_out
static FILE * data_out

Macro Definition Documentation

◆ READ_SIZE

#define READ_SIZE   4096

Function Documentation

◆ add_smb_dir_entries()

void add_smb_dir_entries ( struct directory_entry * entries,
char * dirpath,
struct string * page )
static

◆ add_smb_dir_entry()

void add_smb_dir_entry ( struct directory_entry * entry,
struct string * page,
int pathlen,
char * dircolor )
static

◆ close_all_fds_but_two()

void close_all_fds_but_two ( int header,
int data )
static

◆ do_smb()

void do_smb ( struct connection * conn)
static

◆ get_name_smb()

const char * get_name_smb ( struct module * module)
static

◆ get_smb_directory_entries()

struct directory_entry * get_smb_directory_entries ( int dir,
struct string * prefix )
static

First information such as permissions is gathered for each directory entry.

All entries are then sorted.

◆ prompt_username_pw()

void prompt_username_pw ( struct connection * conn)
static

◆ smb_auth()

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

◆ smb_directory()

void smb_directory ( int dir,
struct string * prefix,
struct uri * uri )
static

◆ smb_error()

void smb_error ( struct connection_state error)
static

◆ smb_got_data()

void smb_got_data ( struct socket * socket,
struct read_buffer * rb )
static

◆ smb_got_error()

void smb_got_error ( struct socket * socket,
struct read_buffer * rb )
static

◆ smb_got_header()

void smb_got_header ( struct socket * socket,
struct read_buffer * rb )
static

◆ smb_protocol_handler()

void smb_protocol_handler ( struct connection * conn)

Variable Documentation

◆ data_out

FILE * data_out
static

◆ header_out

FILE* header_out
static

◆ smb_protocol_module

struct module smb_protocol_module
Initial value:
N_("SMB"),
)
#define NULL
Definition explodename.c:35
#define N_(msg)
Definition libintl.h:25
#define struct_module(name, options, hooks, submods, data, init, done, getname)
Definition module.h:47
static const char * get_name_smb(struct module *module)
Definition smb2.c:41