From 06dc98f220dba6d602010df235679c6584cba279 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Sat, 30 Aug 1997 01:30:25 +0000 Subject: Makefile: New program and support for dynamic codepage loading. charset.c: Dynamic codepage loading code. charset.h: Defines for file format. proto.h: Updated. Jeremy (jallison@whistle.com) (This used to be commit 550e98f2d49a101654b3abde278a7f7edf347ed8) --- source3/include/charset.h | 10 ++++++++++ source3/include/proto.h | 20 ++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) (limited to 'source3/include') diff --git a/source3/include/charset.h b/source3/include/charset.h index 5f5e2016ee..fb184897c0 100644 --- a/source3/include/charset.h +++ b/source3/include/charset.h @@ -63,3 +63,13 @@ extern void charset_initialise(void); #define issafe(c) (isalnum((c&0xff)) || strchr("-._",c)) #endif +/* Dynamic codepage files defines. */ + +/* Version id for dynamically loadable codepage files. */ +#define CODEPAGE_FILE_VERSION_ID 0x1 +/* Version 1 codepage file header size. */ +#define CODEPAGE_HEADER_SIZE 8 +/* Offsets for codepage file header entries. */ +#define CODEPAGE_VERSION_OFFSET 0 +#define CODEPAGE_CLIENT_CODEPAGE_OFFSET 2 +#define CODEPAGE_LENGTH_OFFSET 4 diff --git a/source3/include/proto.h b/source3/include/proto.h index 65287ff595..3a012d379a 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -295,6 +295,18 @@ int get_share_modes(int cnum, share_lock_token token, uint32 dev, uint32 inode, void del_share_mode(share_lock_token token, int fnum); BOOL set_share_mode(share_lock_token token,int fnum); +/*The following definitions come from make_smbcodepage.c */ + +void codepage_usage(const char *progname); +void read_line( char **buf, char *line_buf, int size); +int clean_data( char **buf, uint32 *size); +BOOL parse_byte(char *buf, unsigned char *bp); +BOOL parse_bool(char *buf, unsigned char *bp); +void parse_error(char *buf, char *msg); +int do_compile(int codepage, const char *input_file, const char *output_file); +int do_decompile( int codepage, const char *input_file, const char *output_file); +int main(int argc, char **argv); + /*The following definitions come from mangle.c */ int str_checksum(char *s); @@ -739,17 +751,17 @@ int construct_reply(char *inbuf,char *outbuf,int size,int bufsize); BOOL smb_shm_create_hash_table( unsigned int size ); BOOL smb_shm_open( char *file_name, int size); BOOL smb_shm_close( void ); +smb_shm_offset_t smb_shm_alloc(int size); BOOL smb_shm_free(smb_shm_offset_t offset); +smb_shm_offset_t smb_shm_get_userdef_off(void); BOOL smb_shm_set_userdef_off(smb_shm_offset_t userdef_off); -void * smb_shm_offset2addr(smb_shm_offset_t offset); +void *smb_shm_offset2addr(smb_shm_offset_t offset); +smb_shm_offset_t smb_shm_addr2offset(void *addr); BOOL smb_shm_lock_hash_entry( unsigned int entry); BOOL smb_shm_unlock_hash_entry( unsigned int entry ); BOOL smb_shm_get_usage(int *bytes_free, int *bytes_used, int *bytes_overhead); -smb_shm_offset_t smb_shm_alloc(int size); -smb_shm_offset_t smb_shm_addr2offset(void *addr); -smb_shm_offset_t smb_shm_get_userdef_off(void); /*The following definitions come from smbencrypt.c */ -- cgit