Atrinik Client 2.5
Functions | Variables
client/server_files.c File Reference
#include <global.h>

Go to the source code of this file.

Functions

void server_files_init ()
void server_files_load (int post_load)
static char * server_file_path (size_t id, char *buf, size_t buf_size)
FILE * server_file_open (size_t id)
void server_file_save (size_t id, unsigned char *data, size_t len)
int server_files_updating ()
void server_files_setup_add (char *buf, size_t buf_size)
int server_files_parse_setup (const char *cmd, const char *param)
void server_files_clear_update ()

Variables

static const char *const server_file_names [SERVER_FILES_MAX]
static const char *const server_file_setup_names [SERVER_FILES_MAX]
static void(* server_file_funcs [SERVER_FILES_MAX])()
static void(* server_file_funcs_reload [SERVER_FILES_MAX])()
static server_files_struct server_files [SERVER_FILES_MAX]

Detailed Description

Manages server file updates.

Definition in file server_files.c.


Function Documentation

FILE* server_file_open ( size_t  id)

Open a server file for reading.

Parameters:
idID of the server file, one of SERVER_FILE_xxx.
Returns:
The file pointer, or NULL on failure of opening the file.

Definition at line 157 of file server_files.c.

static char* server_file_path ( size_t  id,
char *  buf,
size_t  buf_size 
) [static]

Construct a path to the specified file.

Parameters:
idID of the server file, one of SERVER_FILE_xxx.
[out]bufWill contain the constructed path.
buf_sizeSize of 'buf'.
Returns:
'buf'.

Definition at line 147 of file server_files.c.

void server_file_save ( size_t  id,
unsigned char *  data,
size_t  len 
)

We have received the server file we asked for, so save it to disk.

Parameters:
idID of the server file, one of SERVER_FILE_xxx.
dataThe data to save.
lenLength of 'data'.

Definition at line 176 of file server_files.c.

void server_files_clear_update ( )

Clear update flag from all server files.

Definition at line 301 of file server_files.c.

void server_files_init ( )

Initialize the necessary structures.

Definition at line 69 of file server_files.c.

void server_files_load ( int  post_load)

Load the server files. If they haven't changed since last load, no loading will be done.

Parameters:
post_loadUnless 1, (re)parsing the server files will not be done.

Definition at line 78 of file server_files.c.

int server_files_parse_setup ( const char *  cmd,
const char *  param 
)

Try to parse setup command as server file status response.

Parameters:
cmdCommand.
paramCommand parameter.
Returns:
1 if we parsed it, 0 otherwise.

Definition at line 270 of file server_files.c.

void server_files_setup_add ( char *  buf,
size_t  buf_size 
)

Add data about server files we have to the setup string sent to the server.

Parameters:
[out]bufWhere to write.
buf_sizeSize of 'buf'.

Definition at line 243 of file server_files.c.

int server_files_updating ( )

Figure out whether there are server files being updated.

Returns:
1 if there are any server files being updated, 0 otherwise.

Definition at line 209 of file server_files.c.


Variable Documentation

void(* server_file_funcs[SERVER_FILES_MAX])() [static]
Initial value:

Post-loading functions to call.

Definition at line 49 of file server_files.c.

void(* server_file_funcs_reload[SERVER_FILES_MAX])() [static]
Initial value:
{
    NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, spells_reload, NULL,
    anims_reset, effects_reinit, skills_reload
}

Functions to call if the server file was already loaded.

Definition at line 57 of file server_files.c.

const char* const server_file_names[SERVER_FILES_MAX] [static]
Initial value:
{
    NULL, NULL, NULL, NULL, "bmaps",
    "hfiles", "updates", "spells", "settings",
    "anims", "effects", "skills"
}

File names of the server files inside srv_files directory.

Definition at line 33 of file server_files.c.

const char* const server_file_setup_names[SERVER_FILES_MAX] [static]
Initial value:
{
    NULL, NULL, NULL, NULL, "bpf",
    "hpf", "upf", "spfv2", "ssf",
    "amfv2", "eff", "skfv2"
}

Identifiers of the server files used in the setup command.

Definition at line 41 of file server_files.c.

server_files_struct server_files[SERVER_FILES_MAX] [static]

The server files.

Definition at line 65 of file server_files.c.