#include <sys/param.h>
Go to the source code of this file.
Data Structures | |
| struct | dbFILE_ |
Defines | |
| #define | getc_db(f) (fgetc((f)->fp)) |
| #define | read_buffer(buf, f) (read_db((f),(buf),sizeof(buf)) == sizeof(buf)) |
| #define | read_buflen(buf, len, f) (read_db((f),(buf),(len)) == (len)) |
| #define | read_db(f, buf, len) (fread((buf),1,(len),(f)->fp)) |
| #define | read_int8(ret, f) ((*(ret)=fgetc((f)->fp))==EOF ? -1 : 0) |
| #define | read_variable(var, f) (read_db((f),&(var),sizeof(var)) == sizeof(var)) |
| #define | write_buffer(buf, f) (write_db((f),(buf),sizeof(buf)) == sizeof(buf)) |
| #define | write_buflen(buf, len, f) (write_db((f),(buf),(len)) == (len)) |
| #define | write_db(f, buf, len) (fwrite((buf),1,(len),(f)->fp)) |
| #define | write_int8(val, f) (fputc((val),(f)->fp)==EOF ? -1 : 0) |
| #define | write_variable(var, f) (write_db((f),&(var),sizeof(var)) == sizeof(var)) |
Typedefs | |
| typedef dbFILE_ | dbFILE |
Functions | |
| E void | backup_databases (void) |
| E void | check_file_version (dbFILE *f) |
| E void | close_db (dbFILE *f) |
| E int | get_file_version (dbFILE *f) |
| E dbFILE * | open_db (const char *service, const char *filename, const char *mode, uint32 version) |
| E int | read_int16 (uint16 *ret, dbFILE *f) |
| E int | read_int32 (uint32 *ret, dbFILE *f) |
| E int | read_ptr (void **ret, dbFILE *f) |
| E int | read_string (char **ret, dbFILE *f) |
| E void | restore_db (dbFILE *f) |
| E int | write_file_version (dbFILE *f, uint32 version) |
| E int | write_int16 (uint16 val, dbFILE *f) |
| E int | write_int32 (uint32 val, dbFILE *f) |
| E int | write_ptr (const void *ptr, dbFILE *f) |
| E int | write_string (const char *s, dbFILE *f) |
| #define getc_db | ( | f | ) | (fgetc((f)->fp)) |
Definition at line 49 of file datafiles.h.
Referenced by load_bs_dbase(), load_cs_dbase(), load_hs_dbase_v1(), load_hs_dbase_v2(), load_hs_dbase_v3(), load_ns_dbase(), load_ns_req_db(), load_old_ns_dbase(), and main().
| #define read_buffer | ( | buf, | |||
| f | ) | (read_db((f),(buf),sizeof(buf)) == sizeof(buf)) |
Definition at line 62 of file datafiles.h.
Referenced by load_cs_dbase(), load_exceptions(), load_news(), load_ns_dbase(), load_old_ns_dbase(), and main().
| #define read_buflen | ( | buf, | |||
| len, | |||||
| f | ) | (read_db((f),(buf),(len)) == (len)) |
Definition at line 64 of file datafiles.h.
| #define read_db | ( | f, | |||
| buf, | |||||
| len | ) | (fread((buf),1,(len),(f)->fp)) |
Definition at line 47 of file datafiles.h.
| #define read_int8 | ( | ret, | |||
| f | ) | ((*(ret)=fgetc((f)->fp))==EOF ? -1 : 0) |
Definition at line 60 of file datafiles.h.
| #define read_variable | ( | var, | |||
| f | ) | (read_db((f),&(var),sizeof(var)) == sizeof(var)) |
Definition at line 66 of file datafiles.h.
| #define write_buffer | ( | buf, | |||
| f | ) | (write_db((f),(buf),sizeof(buf)) == sizeof(buf)) |
Definition at line 63 of file datafiles.h.
Referenced by save_cs_dbase(), save_exceptions(), save_news(), and save_ns_dbase().
| #define write_buflen | ( | buf, | |||
| len, | |||||
| f | ) | (write_db((f),(buf),(len)) == (len)) |
Definition at line 65 of file datafiles.h.
| #define write_db | ( | f, | |||
| buf, | |||||
| len | ) | (fwrite((buf),1,(len),(f)->fp)) |
Definition at line 48 of file datafiles.h.
| #define write_int8 | ( | val, | |||
| f | ) | (fputc((val),(f)->fp)==EOF ? -1 : 0) |
Definition at line 61 of file datafiles.h.
Referenced by save_bs_dbase(), save_cs_dbase(), save_hs_dbase(), save_ns_dbase(), and save_ns_req_dbase().
| #define write_variable | ( | var, | |||
| f | ) | (write_db((f),&(var),sizeof(var)) == sizeof(var)) |
Definition at line 67 of file datafiles.h.
Definition at line 24 of file datafiles.h.
| E void backup_databases | ( | void | ) |
Handles database backups.
Definition at line 680 of file datafiles.c.
References alog(), BotDBName, ChanDBName, EVENT_DB_BACKUP, EVENT_START, EVENT_STOP, ExceptionDBName, HostDBName, KeepBackups, NewsDBName, NickDBName, NSEmailReg, OperDBName, PreNickDBName, s_BotServ, s_HostServ, send_event(), and skeleton.
Referenced by save_databases().
| E void check_file_version | ( | dbFILE * | f | ) |
| void close_db | ( | dbFILE * | f | ) |
Close a database file. If the file was opened for write, remove the backup we (may have) created earlier.
| dbFile | struct |
Definition at line 1721 of file db-merger.c.
References dbFILE_::fp.
Referenced by load_bs_dbase(), load_exceptions(), load_hs_dbase(), load_news(), load_ns_dbase(), load_ns_req_db(), load_old_ns_dbase(), load_os_dbase(), main(), save_bs_dbase(), save_exceptions(), save_hs_dbase(), save_news(), save_ns_dbase(), save_ns_req_dbase(), and save_os_dbase().
| E int get_file_version | ( | dbFILE * | f | ) |
Return the version number on the file. Return 0 if there is no version number or the number doesn't make sense (i.e. less than 1 or greater than FILE_VERSION).
| f | dbFile Struct Member |
Definition at line 31 of file datafiles.c.
References alog(), dbFILE_::filename, dbFILE_::fp, log_perror(), and version.
Referenced by load_bs_dbase(), load_cs_dbase(), load_exceptions(), load_hs_dbase(), load_news(), load_ns_dbase(), load_ns_req_db(), load_old_ns_dbase(), and load_os_dbase().
| E dbFILE* open_db | ( | const char * | service, | |
| const char * | filename, | |||
| const char * | mode, | |||
| uint32 | version | |||
| ) |
Open a database file for reading (*mode == 'r') or writing (*mode == 'w'). Return the stream pointer, or NULL on error. When opening for write, it is an error for rename() to return an error (when backing up the original file) other than ENOENT, if NO_BACKUP_OKAY is not defined; it is an error if the version number cannot be written to the file; and it is a fatal error if opening the file for write fails and the backup was successfully made but cannot be restored.
| service | If error whom to return the error as | |
| filename | File to open as the database | |
| mode | Mode for writting or reading | |
| version | Database Version |
Definition at line 296 of file datafiles.c.
Referenced by load_bs_dbase(), load_cs_dbase(), load_exceptions(), load_hs_dbase(), load_news(), load_ns_dbase(), load_ns_req_db(), load_old_ns_dbase(), load_os_dbase(), save_bs_dbase(), save_cs_dbase(), save_exceptions(), save_hs_dbase(), save_news(), save_ns_dbase(), save_ns_req_dbase(), and save_os_dbase().
Read and write 2- and 4-byte quantities, pointers, and strings. All multibyte values are stored in big-endian order (most significant byte first). A pointer is stored as a byte, either 0 if NULL or 1 if not, and read pointers are returned as either (void *)0 or (void *)1. A string is stored with a 2-byte unsigned length (including the trailing ) first; a length of 0 indicates that the string pointer is NULL. Written strings are truncated silently at 65534 bytes, and are always null-terminated.
| ret | 16bit integer to write | |
| dbFile | struct |
Definition at line 406 of file datafiles.c.
Referenced by load_bs_dbase(), load_cs_dbase(), load_exceptions(), load_news(), load_ns_dbase(), load_old_ns_dbase(), load_os_dbase(), main(), and read_string().
Read a unsigned 32bit integer
| ret | unsigned 32bit integer to read | |
| dbFile | struct |
Definition at line 445 of file datafiles.c.
Referenced by load_bs_dbase(), load_cs_dbase(), load_exceptions(), load_hs_dbase_v2(), load_hs_dbase_v3(), load_news(), load_ns_dbase(), load_ns_req_db(), load_old_ns_dbase(), load_os_dbase(), and main().
| int read_ptr | ( | void ** | ret, | |
| dbFILE * | f | |||
| ) |
Read Pointer
| ret | pointer to read | |
| dbFile | struct |
Definition at line 1802 of file db-merger.c.
References dbFILE_::fp.
| int read_string | ( | char ** | ret, | |
| dbFILE * | f | |||
| ) |
Read String
| ret | string | |
| dbFile | struct |
Definition at line 1821 of file db-merger.c.
References dbFILE_::fp, and read_uint16().
Referenced by load_bs_dbase(), load_cs_dbase(), load_exceptions(), load_hs_dbase_v1(), load_hs_dbase_v2(), load_hs_dbase_v3(), load_news(), load_ns_dbase(), load_ns_req_db(), load_old_ns_dbase(), load_os_dbase(), and main().
| E void restore_db | ( | dbFILE * | f | ) |
Restore the database file to its condition before open_db(). This is identical to close_db() for files open for reading; however, for files open for writing, we first attempt to restore any backup file before closing files.
| dbFile | struct |
Definition at line 319 of file datafiles.c.
References dbFILE_::backupfp, dbFILE_::backupname, dbFILE_::filename, dbFILE_::fp, log_perror(), and dbFILE_::mode.
Write the current version number to the file.
| f | dbFile Struct Member |
Definition at line 1884 of file db-merger.c.
References dbFILE_::filename, and dbFILE_::fp.
Referenced by open_db_write().
Write a 16bit integer
| ret | 16bit integer to write | |
| dbFile | struct |
Definition at line 1752 of file db-merger.c.
References dbFILE_::fp.
Referenced by save_bs_dbase(), save_cs_dbase(), save_exceptions(), save_news(), save_ns_dbase(), save_os_dbase(), and write_string().
Write a unsigned 32bit integer
| ret | unsigned 32bit integer to write | |
| dbFile | struct |
Definition at line 1788 of file db-merger.c.
References dbFILE_::fp.
Referenced by save_bs_dbase(), save_cs_dbase(), save_exceptions(), save_hs_dbase(), save_news(), save_ns_dbase(), save_ns_req_dbase(), and save_os_dbase().
| int write_ptr | ( | const void * | ptr, | |
| dbFILE * | f | |||
| ) |
Write Pointer
| ret | pointer to write | |
| dbFile | struct |
Definition at line 1813 of file db-merger.c.
References dbFILE_::fp.
| int write_string | ( | const char * | s, | |
| dbFILE * | f | |||
| ) |
Write String
| ret | string | |
| dbFile | struct |
Definition at line 1841 of file db-merger.c.
References dbFILE_::fp, and write_int16().
Referenced by save_bs_dbase(), save_cs_dbase(), save_exceptions(), save_hs_dbase(), save_news(), save_ns_dbase(), save_ns_req_dbase(), and save_os_dbase().
1.5.1-20070107