1998-06-08 23:38:57 +04:00
# ifndef _PROTO_H_
# define _PROTO_H_
1998-05-08 20:49:10 +04:00
/* This file is automatically generated with "make proto". DO NOT EDIT */
1998-08-09 18:58:51 +04:00
/*The following definitions come from client/client.c */
void do_dir ( char * inbuf , char * outbuf , char * Mask , int attribute , void ( * fn ) ( file_info * ) , BOOL recurse_dir , BOOL dirstoo ) ;
1998-09-18 21:50:18 +04:00
char * complete_cmd_null ( char * text , int state ) ;
void complete_process_file ( file_info * f ) ;
char * complete_remote_file ( char * text , int state ) ;
char * complete_cmd ( char * text , int state ) ;
char * * completion_fn ( char * text , int start , int end ) ;
1998-08-09 18:58:51 +04:00
/*The following definitions come from client/clientutil.c */
void cli_setup_pkt ( char * outbuf ) ;
BOOL cli_call_api ( char * pipe_name , int pipe_name_len ,
int prcnt , int drcnt , int srcnt ,
int mprcnt , int mdrcnt ,
int * rprcnt , int * rdrcnt ,
char * param , char * data , uint16 * setup ,
char * * rparam , char * * rdata ) ;
BOOL cli_receive_trans_response ( char * inbuf , int trans ,
int * data_len , int * param_len ,
char * * data , char * * param ) ;
BOOL cli_send_trans_request ( char * outbuf , int trans ,
char * name , int namelen , int fid , int flags ,
char * data , char * param , uint16 * setup ,
int ldata , int lparam , int lsetup ,
int mdata , int mparam , int msetup ) ;
BOOL cli_send_session_request ( char * inbuf , char * outbuf ) ;
BOOL cli_send_login ( char * inbuf , char * outbuf , BOOL start_session , BOOL use_setup , struct connection_options * options ) ;
void cli_send_logout ( char * dum_in , char * dum_out ) ;
BOOL cli_open_sockets ( int port ) ;
BOOL cli_reopen_connection ( char * inbuf , char * outbuf ) ;
/*The following definitions come from client/clitar.c */
void cmd_block ( char * dum_in , char * dum_out ) ;
void cmd_tarmode ( char * dum_in , char * dum_out ) ;
void cmd_setmode ( char * dum_in , char * dum_out ) ;
void cmd_tar ( char * inbuf , char * outbuf ) ;
int process_tar ( char * inbuf , char * outbuf ) ;
int tar_parseargs ( int argc , char * argv [ ] , char * Optarg , int Optind ) ;
1998-08-14 06:02:40 +04:00
/*The following definitions come from lib/access.c */
BOOL allow_access ( char * deny_list , char * allow_list ,
char * cname , char * caddr ) ;
BOOL check_access ( int sock , char * allow_list , char * deny_list ) ;
1998-08-16 08:08:47 +04:00
/*The following definitions come from lib/bitmap.c */
struct bitmap * bitmap_allocate ( int n ) ;
BOOL bitmap_set ( struct bitmap * bm , unsigned i ) ;
BOOL bitmap_clear ( struct bitmap * bm , unsigned i ) ;
int bitmap_find ( struct bitmap * bm , unsigned ofs ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/charcnv.c */
1998-05-08 20:49:10 +04:00
char * unix2dos_format ( char * str , BOOL overwrite ) ;
char * dos2unix_format ( char * str , BOOL overwrite ) ;
void interpret_character_set ( char * str ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/charset.c */
1998-05-08 20:49:10 +04:00
void charset_initialise ( void ) ;
void codepage_initialise ( int client_codepage ) ;
void add_char_string ( char * s ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/debug.c */
1998-08-01 00:16:35 +04:00
1998-08-15 05:19:26 +04:00
void sig_usr2 ( int sig ) ;
void sig_usr1 ( int sig ) ;
1998-08-01 00:16:35 +04:00
void setup_logging ( char * pname , BOOL interactive ) ;
void reopen_logs ( void ) ;
void force_check_log_size ( void ) ;
1998-08-14 06:02:40 +04:00
void dbgflush ( void ) ;
1998-08-01 00:16:35 +04:00
BOOL dbghdr ( int level , char * file , char * func , int line ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/fault.c */
1998-05-08 20:49:10 +04:00
void fault_setup ( void ( * fn ) ( void * ) ) ;
1998-08-09 18:20:02 +04:00
/*The following definitions come from lib/genrand.c */
void generate_random_buffer ( unsigned char * out , int len , BOOL re_seed ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/getsmbpass.c */
1998-05-08 20:49:10 +04:00
char * getsmbpass ( char * prompt ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/interface.c */
1998-05-08 20:49:10 +04:00
void load_interfaces ( void ) ;
void iface_set_default ( char * ip , char * bcast , char * nmask ) ;
BOOL ismyip ( struct in_addr ip ) ;
BOOL is_local_net ( struct in_addr from ) ;
int iface_count ( void ) ;
BOOL we_are_multihomed ( void ) ;
struct interface * get_interface ( int n ) ;
struct in_addr * iface_n_ip ( int n ) ;
1998-08-30 09:43:59 +04:00
unsigned iface_hash ( void ) ;
1998-05-08 20:49:10 +04:00
struct in_addr * iface_bcast ( struct in_addr ip ) ;
struct in_addr * iface_ip ( struct in_addr ip ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/kanji.c */
1998-05-08 20:49:10 +04:00
void interpret_coding_system ( char * str ) ;
void initialize_multibyte_vectors ( int client_codepage ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/md4.c */
1998-05-11 19:56:01 +04:00
1998-08-09 17:25:34 +04:00
void mdfour ( unsigned char * out , unsigned char * in , int n ) ;
1998-05-11 19:56:01 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/membuffer.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void mem_init ( struct mem_buf * buf , int margin ) ;
void mem_create ( struct mem_buf * buf , char * data , int size , int margin , BOOL dynamic ) ;
BOOL mem_alloc_data ( struct mem_buf * buf , int size ) ;
BOOL mem_buf_copy ( char * copy_into , struct mem_buf * buf ,
uint32 offset , uint32 len ) ;
BOOL mem_buf_init ( struct mem_buf * * buf , uint32 margin ) ;
void mem_buf_free ( struct mem_buf * * buf ) ;
void mem_free_data ( struct mem_buf * buf ) ;
BOOL mem_realloc_data ( struct mem_buf * buf , int new_size ) ;
BOOL mem_grow_data ( struct mem_buf * * buf , BOOL io , int new_size , BOOL force_grow ) ;
uint32 mem_buf_len ( struct mem_buf * buf ) ;
char * mem_data ( struct mem_buf * * buf , uint32 offset ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/netmask.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
int get_netmask ( struct in_addr * ipaddr , struct in_addr * nmask ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/pidfile.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
int pidfile_pid ( char * name ) ;
void pidfile_create ( char * name ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/replace.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
char * rep_inet_ntoa ( struct in_addr ip ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/signal.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void BlockSignals ( BOOL block , int signum ) ;
void CatchSignal ( int signum , void ( * handler ) ( int ) ) ;
void CatchChild ( void ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/slprintf.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
int vslprintf ( char * str , int n , char * format , va_list ap ) ;
1998-05-08 20:49:10 +04:00
1998-08-14 21:38:29 +04:00
/*The following definitions come from lib/smbrun.c */
int smbrun ( char * cmd , char * outfile , BOOL shared ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/system.c */
1998-05-08 20:49:10 +04:00
1998-08-29 01:46:29 +04:00
int sys_select ( int maxfd , fd_set * fds , struct timeval * tval ) ;
int sys_select ( int maxfd , fd_set * fds , struct timeval * tval ) ;
1998-09-03 22:40:31 +04:00
int sys_stat ( char * fname , SMB_STRUCT_STAT * sbuf ) ;
int sys_fstat ( int fd , SMB_STRUCT_STAT * sbuf ) ;
int sys_lstat ( char * fname , SMB_STRUCT_STAT * sbuf ) ;
int sys_ftruncate ( int fd , SMB_OFF_T offset ) ;
1998-09-12 01:42:18 +04:00
SMB_OFF_T sys_lseek ( int fd , SMB_OFF_T offset , int whence ) ;
1998-09-17 23:16:12 +04:00
int sys_fseek ( FILE * fp , SMB_OFF_T offset , int whence ) ;
SMB_OFF_T sys_ftell ( FILE * fp ) ;
1998-09-02 00:11:54 +04:00
int dos_unlink ( char * fname ) ;
1998-09-17 23:16:12 +04:00
int dos_open ( char * fname , int flags , mode_t mode ) ;
1998-09-02 00:11:54 +04:00
DIR * dos_opendir ( char * dname ) ;
int dos_stat ( char * fname , SMB_STRUCT_STAT * sbuf ) ;
1998-08-09 17:25:34 +04:00
int sys_waitpid ( pid_t pid , int * status , int options ) ;
1998-09-03 07:14:31 +04:00
int dos_lstat ( char * fname , SMB_STRUCT_STAT * sbuf ) ;
1998-09-17 23:16:12 +04:00
int dos_mkdir ( char * dname , mode_t mode ) ;
1998-09-02 00:11:54 +04:00
int dos_rmdir ( char * dname ) ;
int dos_chdir ( char * dname ) ;
int dos_utime ( char * fname , struct utimbuf * times ) ;
int dos_rename ( char * from , char * to ) ;
1998-09-17 23:16:12 +04:00
int dos_chmod ( char * fname , mode_t mode ) ;
1998-09-03 22:40:31 +04:00
char * dos_getwd ( char * s ) ;
1998-08-09 17:25:34 +04:00
int sys_chown ( char * fname , int uid , int gid ) ;
int sys_chroot ( char * dname ) ;
struct hostent * sys_gethostbyname ( char * name ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/time.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void GetTimeOfDay ( struct timeval * tval ) ;
void TimeInit ( void ) ;
int TimeDiff ( time_t t ) ;
struct tm * LocalTime ( time_t * t ) ;
time_t interpret_long_date ( char * p ) ;
void put_long_date ( char * p , time_t t ) ;
BOOL null_mtime ( time_t mtime ) ;
void put_dos_date ( char * buf , int offset , time_t unixdate ) ;
void put_dos_date2 ( char * buf , int offset , time_t unixdate ) ;
void put_dos_date3 ( char * buf , int offset , time_t unixdate ) ;
time_t make_unix_date ( void * date_ptr ) ;
time_t make_unix_date2 ( void * date_ptr ) ;
time_t make_unix_date3 ( void * date_ptr ) ;
char * http_timestring ( time_t t ) ;
char * timestring ( void ) ;
1998-09-02 00:11:54 +04:00
time_t get_create_time ( SMB_STRUCT_STAT * st , BOOL fake_dirs ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/ufc.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
char * ufc_crypt ( char * key , char * salt ) ;
1998-05-08 20:49:10 +04:00
1998-08-10 11:04:53 +04:00
/*The following definitions come from lib/username.c */
char * get_home_dir ( char * user ) ;
BOOL map_username ( char * user ) ;
struct passwd * Get_Pwnam ( char * user , BOOL allow_change ) ;
BOOL user_in_list ( char * user , char * list ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from lib/util.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
char * tmpdir ( void ) ;
BOOL is_a_socket ( int fd ) ;
1998-08-31 07:11:42 +04:00
BOOL next_token ( char * * ptr , char * buff , char * sep , int bufsize ) ;
1998-08-09 17:25:34 +04:00
char * * toktocliplist ( int * ctok , char * sep ) ;
void set_socket_options ( int fd , char * options ) ;
void close_sockets ( void ) ;
BOOL in_group ( gid_t group , int current_gid , int ngroups , GID_T * groups ) ;
char * StrCpy ( char * dest , char * src ) ;
char * StrnCpy ( char * dest , char * src , int n ) ;
void putip ( void * dest , void * src ) ;
int name_mangle ( char * In , char * Out , char name_type ) ;
1998-09-02 00:11:54 +04:00
BOOL file_exist ( char * fname , SMB_STRUCT_STAT * sbuf ) ;
1998-08-09 17:25:34 +04:00
time_t file_modtime ( char * fname ) ;
1998-09-02 00:11:54 +04:00
BOOL directory_exist ( char * dname , SMB_STRUCT_STAT * st ) ;
1998-09-03 22:40:31 +04:00
SMB_OFF_T file_size ( char * file_name ) ;
1998-08-09 17:25:34 +04:00
char * attrib_string ( int mode ) ;
int StrCaseCmp ( char * s , char * t ) ;
int StrnCaseCmp ( char * s , char * t , int n ) ;
BOOL strequal ( char * s1 , char * s2 ) ;
BOOL strnequal ( char * s1 , char * s2 , int n ) ;
BOOL strcsequal ( char * s1 , char * s2 ) ;
void strlower ( char * s ) ;
void strupper ( char * s ) ;
void strnorm ( char * s ) ;
BOOL strisnormal ( char * s ) ;
void string_replace ( char * s , char oldc , char newc ) ;
void unix_format ( char * fname ) ;
void dos_format ( char * fname ) ;
void show_msg ( char * buf ) ;
int smb_len ( char * buf ) ;
void _smb_setlen ( char * buf , int len ) ;
void smb_setlen ( char * buf , int len ) ;
int set_message ( char * buf , int num_words , int num_bytes , BOOL zero ) ;
int smb_buflen ( char * buf ) ;
char * smb_buf ( char * buf ) ;
int smb_offset ( char * p , char * buf ) ;
char * skip_string ( char * buf , int n ) ;
BOOL trim_string ( char * s , char * front , char * back ) ;
void dos_clean_name ( char * s ) ;
void unix_clean_name ( char * s ) ;
int ChDir ( char * path ) ;
char * GetWd ( char * str ) ;
BOOL reduce_name ( char * s , char * dir , BOOL widelinks ) ;
void expand_mask ( char * Mask , BOOL doext ) ;
BOOL strhasupper ( char * s ) ;
BOOL strhaslower ( char * s ) ;
int count_chars ( char * s , char c ) ;
1998-09-03 22:40:31 +04:00
void make_dir_struct ( char * buf , char * mask , char * fname , SMB_OFF_T size , int mode , time_t date ) ;
1998-08-09 17:25:34 +04:00
void close_low_fds ( void ) ;
1998-09-11 05:24:30 +04:00
ssize_t write_socket ( int fd , char * buf , size_t len ) ;
ssize_t read_udp_socket ( int fd , char * buf , size_t len ) ;
ssize_t read_with_timeout ( int fd , char * buf , size_t mincnt , size_t maxcnt , unsigned int time_out ) ;
1998-08-09 17:25:34 +04:00
int TvalDiff ( struct timeval * tvalold , struct timeval * tvalnew ) ;
BOOL send_keepalive ( int client ) ;
1998-09-11 05:24:30 +04:00
ssize_t read_data ( int fd , char * buffer , size_t N ) ;
ssize_t write_data ( int fd , char * buffer , size_t N ) ;
1998-09-03 22:40:31 +04:00
SMB_OFF_T transfer_file ( int infd , int outfd , SMB_OFF_T n , char * header , int headlen , int align ) ;
1998-09-11 05:24:30 +04:00
ssize_t read_smb_length ( int fd , char * inbuf , unsigned int timeout ) ;
BOOL receive_smb ( int fd , char * buffer , unsigned int timeout ) ;
BOOL client_receive_smb ( int fd , char * buffer , unsigned int timeout ) ;
BOOL receive_local_message ( int fd , char * buffer , int buffer_len , unsigned int timeout ) ;
1998-08-09 17:25:34 +04:00
BOOL push_oplock_pending_smb_message ( char * buf , int msg_len ) ;
BOOL receive_message_or_smb ( int smbfd , int oplock_fd ,
char * buffer , int buffer_len ,
int timeout , BOOL * got_smb ) ;
BOOL send_smb ( int fd , char * buffer ) ;
int name_extract ( char * buf , int ofs , char * name ) ;
int name_len ( char * s ) ;
BOOL send_one_packet ( char * buf , int len , struct in_addr ip , int port , int type ) ;
BOOL in_list ( char * s , char * list , BOOL casesensitive ) ;
BOOL string_init ( char * * dest , char * src ) ;
void string_free ( char * * s ) ;
BOOL string_set ( char * * dest , char * src ) ;
BOOL string_sub ( char * s , char * pattern , char * insert ) ;
BOOL do_match ( char * str , char * regexp , int case_sig ) ;
BOOL mask_match ( char * str , char * regexp , int case_sig , BOOL trans2 ) ;
void become_daemon ( void ) ;
BOOL yesno ( char * p ) ;
char * fgets_slash ( char * s2 , int maxlen , FILE * f ) ;
1998-09-03 22:40:31 +04:00
int set_filelen ( int fd , SMB_OFF_T len ) ;
1998-09-11 05:24:30 +04:00
void * Realloc ( void * p , size_t size ) ;
1998-08-09 17:25:34 +04:00
BOOL get_myname ( char * my_name , struct in_addr * ip ) ;
BOOL ip_equal ( struct in_addr ip1 , struct in_addr ip2 ) ;
int open_socket_in ( int type , int port , int dlevel , uint32 socket_addr ) ;
int open_socket_out ( int type , struct in_addr * addr , int port , int timeout ) ;
int interpret_protocol ( char * str , int def ) ;
uint32 interpret_addr ( char * str ) ;
struct in_addr * interpret_addr2 ( char * str ) ;
BOOL zero_ip ( struct in_addr ip ) ;
void reset_globals_after_fork ( void ) ;
char * client_name ( int fd ) ;
char * client_addr ( int fd ) ;
void standard_sub_basic ( char * str ) ;
1998-08-14 21:38:29 +04:00
void standard_sub ( connection_struct * conn , char * str ) ;
1998-08-09 17:25:34 +04:00
BOOL same_net ( struct in_addr ip1 , struct in_addr ip2 , struct in_addr mask ) ;
int PutUniCode ( char * dst , char * src ) ;
struct hostent * Get_Hostbyname ( char * name ) ;
BOOL process_exists ( int pid ) ;
char * uidtoname ( int uid ) ;
char * gidtoname ( int gid ) ;
1998-08-21 15:37:40 +04:00
void smb_panic ( char * why ) ;
1998-08-09 17:25:34 +04:00
char * readdirname ( void * p ) ;
BOOL is_in_path ( char * name , name_compare_entry * namelist ) ;
void set_namearray ( name_compare_entry * * ppname_array , char * namelist ) ;
void free_namearray ( name_compare_entry * name_array ) ;
1998-09-04 04:23:28 +04:00
BOOL fcntl_lock ( int fd , int op , SMB_OFF_T offset , SMB_OFF_T count , int type ) ;
1998-08-09 17:25:34 +04:00
BOOL is_myname ( char * s ) ;
void set_remote_arch ( enum remote_arch_types type ) ;
enum remote_arch_types get_remote_arch ( void ) ;
char * skip_unicode_string ( char * buf , int n ) ;
char * unistrn2 ( uint16 * buf , int len ) ;
char * unistr2 ( uint16 * buf ) ;
int struni2 ( uint16 * p , char * buf ) ;
char * unistr ( char * buf ) ;
int unistrcpy ( char * dst , char * src ) ;
char * safe_strcpy ( char * dest , char * src , int maxlength ) ;
char * safe_strcat ( char * dest , char * src , int maxlength ) ;
char * align2 ( char * q , char * base ) ;
void print_asc ( int level , unsigned char * buf , int len ) ;
void dump_data ( int level , char * buf1 , int len ) ;
char * tab_depth ( int depth ) ;
char * sid_to_string ( pstring sidstr_out , DOM_SID * sid ) ;
BOOL string_to_sid ( DOM_SID * sidout , char * sidstr ) ;
1998-08-14 21:38:29 +04:00
int str_checksum ( char * s ) ;
1998-09-11 05:24:30 +04:00
void zero_free ( void * p , size_t size ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from libsmb/clientgen.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
char * cli_errstr ( struct cli_state * cli ) ;
BOOL cli_api_pipe ( struct cli_state * cli , char * pipe_name , int pipe_name_len ,
uint16 * setup , uint32 setup_count , uint32 max_setup_count ,
char * params , uint32 param_count , uint32 max_param_count ,
char * data , uint32 data_count , uint32 max_data_count ,
char * * rparam , uint32 * rparam_count ,
char * * rdata , uint32 * rdata_count ) ;
1998-08-25 10:52:26 +04:00
BOOL cli_api ( struct cli_state * cli ,
char * param , int prcnt , int mprcnt ,
char * data , int drcnt , int mdrcnt ,
char * * rparam , int * rprcnt ,
char * * rdata , int * rdrcnt ) ;
1998-08-09 17:25:34 +04:00
BOOL cli_NetWkstaUserLogon ( struct cli_state * cli , char * user , char * workstation ) ;
BOOL cli_RNetShareEnum ( struct cli_state * cli , void ( * fn ) ( char * , uint32 , char * ) ) ;
BOOL cli_NetServerEnum ( struct cli_state * cli , char * workgroup , uint32 stype ,
void ( * fn ) ( char * , uint32 , char * ) ) ;
BOOL cli_session_setup ( struct cli_state * cli ,
char * user ,
char * pass , int passlen ,
char * ntpass , int ntpasslen ,
char * workgroup ) ;
BOOL cli_ulogoff ( struct cli_state * cli ) ;
BOOL cli_send_tconX ( struct cli_state * cli ,
char * share , char * dev , char * pass , int passlen ) ;
BOOL cli_tdis ( struct cli_state * cli ) ;
BOOL cli_mv ( struct cli_state * cli , char * fname_src , char * fname_dst ) ;
BOOL cli_unlink ( struct cli_state * cli , char * fname ) ;
BOOL cli_mkdir ( struct cli_state * cli , char * dname ) ;
BOOL cli_rmdir ( struct cli_state * cli , char * dname ) ;
int cli_open ( struct cli_state * cli , char * fname , int flags , int share_mode ) ;
BOOL cli_close ( struct cli_state * cli , int fnum ) ;
BOOL cli_lock ( struct cli_state * cli , int fnum , uint32 offset , uint32 len , int timeout ) ;
BOOL cli_unlock ( struct cli_state * cli , int fnum , uint32 offset , uint32 len , int timeout ) ;
int cli_read ( struct cli_state * cli , int fnum , char * buf , uint32 offset , uint16 size ) ;
int cli_write ( struct cli_state * cli , int fnum , char * buf , uint32 offset , uint16 size ) ;
BOOL cli_getatr ( struct cli_state * cli , char * fname ,
int * attr , uint32 * size , time_t * t ) ;
BOOL cli_setatr ( struct cli_state * cli , char * fname , int attr , time_t t ) ;
BOOL cli_qpathinfo ( struct cli_state * cli , char * fname ,
time_t * c_time , time_t * a_time , time_t * m_time , uint32 * size ) ;
BOOL cli_qpathinfo2 ( struct cli_state * cli , char * fname ,
time_t * c_time , time_t * a_time , time_t * m_time ,
time_t * w_time , uint32 * size ) ;
BOOL cli_qfileinfo ( struct cli_state * cli , int fnum ,
time_t * c_time , time_t * a_time , time_t * m_time , uint32 * size ) ;
BOOL cli_oem_change_password ( struct cli_state * cli , char * user , char * new_password ,
char * old_password ) ;
BOOL cli_negprot ( struct cli_state * cli ) ;
BOOL cli_session_request ( struct cli_state * cli , char * host , int name_type ,
char * myname ) ;
BOOL cli_connect ( struct cli_state * cli , char * host , struct in_addr * ip ) ;
BOOL cli_initialise ( struct cli_state * cli ) ;
void cli_shutdown ( struct cli_state * cli ) ;
void cli_error ( struct cli_state * cli , int * eclass , int * num ) ;
void cli_sockopt ( struct cli_state * cli , char * options ) ;
int cli_setpid ( struct cli_state * cli , int pid ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 18:37:32 +04:00
/*The following definitions come from libsmb/credentials.c */
char * credstr ( uchar * cred ) ;
void cred_session_key ( DOM_CHAL * clnt_chal , DOM_CHAL * srv_chal , char * pass ,
uchar session_key [ 8 ] ) ;
void cred_create ( uchar session_key [ 8 ] , DOM_CHAL * stor_cred , UTIME timestamp ,
DOM_CHAL * cred ) ;
int cred_assert ( DOM_CHAL * cred , uchar session_key [ 8 ] , DOM_CHAL * stored_cred ,
UTIME timestamp ) ;
BOOL clnt_deal_with_creds ( uchar sess_key [ 8 ] ,
DOM_CRED * sto_clnt_cred , DOM_CRED * rcv_srv_cred ) ;
BOOL deal_with_creds ( uchar sess_key [ 8 ] ,
DOM_CRED * sto_clnt_cred ,
DOM_CRED * rcv_clnt_cred , DOM_CRED * rtn_srv_cred ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from libsmb/namequery.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
BOOL name_status ( int fd , char * name , int name_type , BOOL recurse ,
struct in_addr to_ip , char * master , char * rname ,
void ( * fn ) ( struct packet_struct * ) ) ;
struct in_addr * name_query ( int fd , char * name , int name_type , BOOL bcast , BOOL recurse ,
struct in_addr to_ip , int * count , void ( * fn ) ( struct packet_struct * ) ) ;
FILE * startlmhosts ( char * fname ) ;
BOOL getlmhostsent ( FILE * fp , char * name , int * name_type , struct in_addr * ipaddr ) ;
void endlmhosts ( FILE * fp ) ;
BOOL resolve_name ( char * name , struct in_addr * return_ip ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from libsmb/nmblib.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void debug_nmb_packet ( struct packet_struct * p ) ;
char * namestr ( struct nmb_name * n ) ;
struct packet_struct * copy_packet ( struct packet_struct * packet ) ;
void free_packet ( struct packet_struct * packet ) ;
struct packet_struct * read_packet ( int fd , enum packet_type packet_type ) ;
void make_nmb_name ( struct nmb_name * n , char * name , int type , char * this_scope ) ;
BOOL nmb_name_equal ( struct nmb_name * n1 , struct nmb_name * n2 ) ;
BOOL send_packet ( struct packet_struct * p ) ;
struct packet_struct * receive_packet ( int fd , enum packet_type type , int t ) ;
1998-08-30 12:45:23 +04:00
void sort_query_replies ( char * data , int n , struct in_addr ip ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from libsmb/nterr.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
char * get_nt_error_msg ( uint32 nt_code ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from libsmb/smbdes.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void E_P16 ( unsigned char * p14 , unsigned char * p16 ) ;
void E_P24 ( unsigned char * p21 , unsigned char * c8 , unsigned char * p24 ) ;
void D_P16 ( unsigned char * p14 , unsigned char * in , unsigned char * out ) ;
void E_old_pw_hash ( unsigned char * p14 , unsigned char * in , unsigned char * out ) ;
void cred_hash1 ( unsigned char * out , unsigned char * in , unsigned char * key ) ;
void cred_hash2 ( unsigned char * out , unsigned char * in , unsigned char * key ) ;
void cred_hash3 ( unsigned char * out , unsigned char * in , unsigned char * key , int forw ) ;
void SamOEMhash ( unsigned char * data , unsigned char * key , int val ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from libsmb/smbencrypt.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void SMBencrypt ( uchar * passwd , uchar * c8 , uchar * p24 ) ;
void E_md4hash ( uchar * passwd , uchar * p16 ) ;
void SMBNTencrypt ( uchar * passwd , uchar * c8 , uchar * p24 ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from libsmb/smberr.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
char * smb_errstr ( char * inbuf ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from locking/locking.c */
1998-05-08 20:49:10 +04:00
1998-08-15 11:27:34 +04:00
BOOL is_locked ( files_struct * fsp , connection_struct * conn ,
1998-09-04 04:23:28 +04:00
SMB_OFF_T count , SMB_OFF_T offset , int lock_type ) ;
1998-08-15 11:27:34 +04:00
BOOL do_lock ( files_struct * fsp , connection_struct * conn ,
1998-09-04 04:23:28 +04:00
SMB_OFF_T count , SMB_OFF_T offset , int lock_type ,
1998-08-09 17:25:34 +04:00
int * eclass , uint32 * ecode ) ;
1998-08-15 11:27:34 +04:00
BOOL do_unlock ( files_struct * fsp , connection_struct * conn ,
1998-09-04 04:23:28 +04:00
SMB_OFF_T count , SMB_OFF_T offset , int * eclass , uint32 * ecode ) ;
1998-08-09 17:25:34 +04:00
BOOL locking_init ( int read_only ) ;
BOOL locking_end ( void ) ;
1998-08-14 21:38:29 +04:00
BOOL lock_share_entry ( connection_struct * conn ,
1998-09-01 00:20:54 +04:00
SMB_DEV_T dev , SMB_INO_T inode , int * ptok ) ;
1998-08-14 21:38:29 +04:00
BOOL unlock_share_entry ( connection_struct * conn ,
1998-09-01 00:20:54 +04:00
SMB_DEV_T dev , SMB_INO_T inode , int token ) ;
1998-08-14 21:38:29 +04:00
int get_share_modes ( connection_struct * conn ,
1998-09-01 00:20:54 +04:00
int token , SMB_DEV_T dev , SMB_INO_T inode ,
1998-08-09 17:25:34 +04:00
share_mode_entry * * shares ) ;
1998-08-15 11:27:34 +04:00
void del_share_mode ( int token , files_struct * fsp ) ;
BOOL set_share_mode ( int token , files_struct * fsp , uint16 port , uint16 op_type ) ;
BOOL remove_share_oplock ( files_struct * fsp , int token ) ;
1998-08-09 17:25:34 +04:00
int share_mode_forall ( void ( * fn ) ( share_mode_entry * , char * ) ) ;
void share_status ( FILE * f ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from locking/locking_shm.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
struct share_ops * locking_shm_init ( int ronly ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from locking/locking_slow.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
struct share_ops * locking_slow_init ( int ronly ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from locking/shmem.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
struct shmem_ops * smb_shm_open ( int ronly ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from locking/shmem_sysv.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
struct shmem_ops * sysv_shm_open ( int ronly ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 18:08:42 +04:00
/*The following definitions come from nmbd/asyncdns.c */
int asyncdns_fd ( void ) ;
void kill_async_dns_child ( void ) ;
void start_async_dns ( void ) ;
void run_dns_queue ( void ) ;
BOOL queue_dns_query ( struct packet_struct * p , struct nmb_name * question ,
struct name_record * * n ) ;
BOOL queue_dns_query ( struct packet_struct * p , struct nmb_name * question ,
struct name_record * * n ) ;
void kill_async_dns_child ( void ) ;
/*The following definitions come from nmbd/nmbd.c */
BOOL reload_services ( BOOL test ) ;
/*The following definitions come from nmbd/nmbd_become_dmb.c */
void add_domain_names ( time_t t ) ;
/*The following definitions come from nmbd/nmbd_become_lmb.c */
void insert_permanent_name_into_unicast ( struct subnet_record * subrec ,
struct nmb_name * nmbname , uint16 nb_type ) ;
void unbecome_local_master_browser ( struct subnet_record * subrec , struct work_record * work ,
BOOL force_new_election ) ;
void become_local_master_browser ( struct subnet_record * subrec , struct work_record * work ) ;
void set_workgroup_local_master_browser_name ( struct work_record * work , char * newname ) ;
/*The following definitions come from nmbd/nmbd_browserdb.c */
void update_browser_death_time ( struct browse_cache_record * browc ) ;
struct browse_cache_record * create_browser_in_lmb_cache ( char * work_name ,
char * browser_name ,
struct in_addr ip ) ;
struct browse_cache_record * find_browser_in_lmb_cache ( char * browser_name ) ;
void expire_lmb_browsers ( time_t t ) ;
/*The following definitions come from nmbd/nmbd_browsesync.c */
void dmb_expire_and_sync_browser_lists ( time_t t ) ;
void announce_and_sync_with_domain_master_browser ( struct subnet_record * subrec ,
struct work_record * work ) ;
void collect_all_workgroup_names_from_wins_server ( time_t t ) ;
1998-08-30 19:58:17 +04:00
void sync_all_dmbs ( time_t t ) ;
1998-08-09 18:08:42 +04:00
/*The following definitions come from nmbd/nmbd_elections.c */
void check_master_browser_exists ( time_t t ) ;
void run_elections ( time_t t ) ;
void process_election ( struct subnet_record * subrec , struct packet_struct * p , char * buf ) ;
BOOL check_elections ( void ) ;
/*The following definitions come from nmbd/nmbd_incomingdgrams.c */
void tell_become_backup ( void ) ;
void process_host_announce ( struct subnet_record * subrec , struct packet_struct * p , char * buf ) ;
void process_workgroup_announce ( struct subnet_record * subrec , struct packet_struct * p , char * buf ) ;
void process_local_master_announce ( struct subnet_record * subrec , struct packet_struct * p , char * buf ) ;
void process_master_browser_announce ( struct subnet_record * subrec ,
struct packet_struct * p , char * buf ) ;
void process_lm_host_announce ( struct subnet_record * subrec , struct packet_struct * p , char * buf ) ;
void process_get_backup_list_request ( struct subnet_record * subrec ,
struct packet_struct * p , char * buf ) ;
void process_reset_browser ( struct subnet_record * subrec ,
struct packet_struct * p , char * buf ) ;
void process_announce_request ( struct subnet_record * subrec , struct packet_struct * p , char * buf ) ;
void process_lm_announce_request ( struct subnet_record * subrec , struct packet_struct * p , char * buf ) ;
/*The following definitions come from nmbd/nmbd_incomingrequests.c */
void process_name_release_request ( struct subnet_record * subrec ,
struct packet_struct * p ) ;
void process_name_refresh_request ( struct subnet_record * subrec ,
struct packet_struct * p ) ;
void process_name_registration_request ( struct subnet_record * subrec ,
struct packet_struct * p ) ;
void process_node_status_request ( struct subnet_record * subrec , struct packet_struct * p ) ;
void process_name_query_request ( struct subnet_record * subrec , struct packet_struct * p ) ;
/*The following definitions come from nmbd/nmbd_lmhosts.c */
void load_lmhosts_file ( char * fname ) ;
BOOL find_name_in_lmhosts ( struct nmb_name * nmbname , struct name_record * * namerecp ) ;
/*The following definitions come from nmbd/nmbd_logonnames.c */
void add_logon_names ( void ) ;
/*The following definitions come from nmbd/nmbd_mynames.c */
BOOL register_my_workgroup_and_names ( void ) ;
void release_my_names ( void ) ;
void refresh_my_names ( time_t t ) ;
/*The following definitions come from nmbd/nmbd_namelistdb.c */
void set_samba_nb_type ( void ) ;
void remove_name_from_namelist ( struct subnet_record * subrec ,
struct name_record * namerec ) ;
struct name_record * find_name_on_subnet ( struct subnet_record * subrec ,
struct nmb_name * nmbname ,
BOOL self_only ) ;
struct name_record * find_name_for_remote_broadcast_subnet (
struct nmb_name * nmbname ,
BOOL self_only ) ;
void update_name_ttl ( struct name_record * namerec , int ttl ) ;
struct name_record * add_name_to_subnet ( struct subnet_record * subrec ,
char * name ,
int type ,
uint16 nb_flags ,
int ttl ,
enum name_source source ,
int num_ips ,
struct in_addr * iplist ) ;
void standard_success_register ( struct subnet_record * subrec ,
struct userdata_struct * userdata ,
struct nmb_name * nmbname , uint16 nb_flags , int ttl ,
struct in_addr registered_ip ) ;
void standard_fail_register ( struct subnet_record * subrec ,
struct response_record * rrec ,
struct nmb_name * nmbname ) ;
BOOL find_ip_in_name_record ( struct name_record * namerec , struct in_addr ip ) ;
void add_ip_to_name_record ( struct name_record * namerec , struct in_addr new_ip ) ;
void remove_ip_from_name_record ( struct name_record * namerec ,
struct in_addr remove_ip ) ;
void standard_success_release ( struct subnet_record * subrec ,
struct userdata_struct * userdata ,
struct nmb_name * nmbname ,
struct in_addr released_ip ) ;
void expire_names_on_subnet ( struct subnet_record * subrec , time_t t ) ;
void expire_names ( time_t t ) ;
void add_samba_names_to_subnet ( struct subnet_record * subrec ) ;
void dump_all_namelists ( void ) ;
/*The following definitions come from nmbd/nmbd_namequery.c */
BOOL query_name ( struct subnet_record * subrec , char * name , int type ,
query_name_success_function success_fn ,
query_name_fail_function fail_fn ,
struct userdata_struct * userdata ) ;
BOOL query_name_from_wins_server ( struct in_addr ip_to ,
char * name , int type ,
query_name_success_function success_fn ,
query_name_fail_function fail_fn ,
struct userdata_struct * userdata ) ;
/*The following definitions come from nmbd/nmbd_nameregister.c */
BOOL register_name ( struct subnet_record * subrec ,
char * name , int type , uint16 nb_flags ,
register_name_success_function success_fn ,
register_name_fail_function fail_fn ,
struct userdata_struct * userdata ) ;
BOOL refresh_name ( struct subnet_record * subrec , struct name_record * namerec ,
refresh_name_success_function success_fn ,
refresh_name_fail_function fail_fn ,
struct userdata_struct * userdata ) ;
/*The following definitions come from nmbd/nmbd_namerelease.c */
BOOL release_name ( struct subnet_record * subrec , struct name_record * namerec ,
release_name_success_function success_fn ,
release_name_fail_function fail_fn ,
struct userdata_struct * userdata ) ;
/*The following definitions come from nmbd/nmbd_nodestatus.c */
BOOL node_status ( struct subnet_record * subrec , struct nmb_name * nmbname ,
struct in_addr send_ip , node_status_success_function success_fn ,
node_status_fail_function fail_fn , struct userdata_struct * userdata ) ;
/*The following definitions come from nmbd/nmbd_packets.c */
uint16 get_nb_flags ( char * buf ) ;
void set_nb_flags ( char * buf , uint16 nb_flags ) ;
struct response_record * queue_register_name ( struct subnet_record * subrec ,
response_function resp_fn ,
timeout_response_function timeout_fn ,
register_name_success_function success_fn ,
register_name_fail_function fail_fn ,
struct userdata_struct * userdata ,
struct nmb_name * nmbname ,
uint16 nb_flags ) ;
struct response_record * queue_register_multihomed_name ( struct subnet_record * subrec ,
response_function resp_fn ,
timeout_response_function timeout_fn ,
register_name_success_function success_fn ,
register_name_fail_function fail_fn ,
struct userdata_struct * userdata ,
struct nmb_name * nmbname ,
uint16 nb_flags ,
struct in_addr register_ip ) ;
struct response_record * queue_release_name ( struct subnet_record * subrec ,
response_function resp_fn ,
timeout_response_function timeout_fn ,
release_name_success_function success_fn ,
release_name_fail_function fail_fn ,
struct userdata_struct * userdata ,
struct nmb_name * nmbname ,
uint16 nb_flags ,
struct in_addr release_ip ) ;
struct response_record * queue_refresh_name ( struct subnet_record * subrec ,
response_function resp_fn ,
timeout_response_function timeout_fn ,
refresh_name_success_function success_fn ,
refresh_name_fail_function fail_fn ,
struct userdata_struct * userdata ,
struct name_record * namerec ,
struct in_addr refresh_ip ) ;
struct response_record * queue_query_name ( struct subnet_record * subrec ,
response_function resp_fn ,
timeout_response_function timeout_fn ,
query_name_success_function success_fn ,
query_name_fail_function fail_fn ,
struct userdata_struct * userdata ,
struct nmb_name * nmbname ) ;
struct response_record * queue_query_name_from_wins_server ( struct in_addr to_ip ,
response_function resp_fn ,
timeout_response_function timeout_fn ,
query_name_success_function success_fn ,
query_name_fail_function fail_fn ,
struct userdata_struct * userdata ,
struct nmb_name * nmbname ) ;
struct response_record * queue_node_status ( struct subnet_record * subrec ,
response_function resp_fn ,
timeout_response_function timeout_fn ,
node_status_success_function success_fn ,
node_status_fail_function fail_fn ,
struct userdata_struct * userdata ,
struct nmb_name * nmbname ,
struct in_addr send_ip ) ;
void reply_netbios_packet ( struct packet_struct * orig_packet ,
int rcode , enum netbios_reply_type_code rcv_code , int opcode ,
int ttl , char * data , int len ) ;
void run_packet_queue ( void ) ;
void retransmit_or_expire_response_records ( time_t t ) ;
BOOL listen_for_packets ( BOOL run_election ) ;
BOOL send_mailslot ( BOOL unique , char * mailslot , char * buf , int len ,
char * srcname , int src_type ,
char * dstname , int dest_type ,
1998-08-30 21:04:24 +04:00
struct in_addr dest_ip , struct in_addr src_ip ,
int dest_port ) ;
1998-08-09 18:08:42 +04:00
/*The following definitions come from nmbd/nmbd_processlogon.c */
void process_logon_packet ( struct packet_struct * p , char * buf , int len ,
char * mailslot ) ;
/*The following definitions come from nmbd/nmbd_responserecordsdb.c */
void remove_response_record ( struct subnet_record * subrec ,
struct response_record * rrec ) ;
struct response_record * make_response_record ( struct subnet_record * subrec ,
struct packet_struct * p ,
response_function resp_fn ,
timeout_response_function timeout_fn ,
success_function success_fn ,
fail_function fail_fn ,
struct userdata_struct * userdata ) ;
struct response_record * find_response_record ( struct subnet_record * * ppsubrec ,
uint16 id ) ;
BOOL is_refresh_already_queued ( struct subnet_record * subrec , struct name_record * namerec ) ;
/*The following definitions come from nmbd/nmbd_sendannounce.c */
void send_browser_reset ( int reset_type , char * to_name , int to_type , struct in_addr to_ip ) ;
void broadcast_announce_request ( struct subnet_record * subrec , struct work_record * work ) ;
void announce_my_server_names ( time_t t ) ;
void announce_my_lm_server_names ( time_t t ) ;
void reset_announce_timer ( void ) ;
void announce_myself_to_domain_master_browser ( time_t t ) ;
void announce_my_servers_removed ( void ) ;
void announce_remote ( time_t t ) ;
void browse_sync_remote ( time_t t ) ;
/*The following definitions come from nmbd/nmbd_serverlistdb.c */
void remove_all_servers ( struct work_record * work ) ;
struct server_record * find_server_in_workgroup ( struct work_record * work , char * name ) ;
void remove_server_from_workgroup ( struct work_record * work , struct server_record * servrec ) ;
struct server_record * create_server_on_workgroup ( struct work_record * work ,
char * name , int servertype ,
int ttl , char * comment ) ;
void update_server_ttl ( struct server_record * servrec , int ttl ) ;
void expire_servers ( struct work_record * work , time_t t ) ;
void write_browse_list ( time_t t , BOOL force_write ) ;
/*The following definitions come from nmbd/nmbd_subnetdb.c */
BOOL create_subnets ( void ) ;
BOOL we_are_a_wins_client ( void ) ;
struct subnet_record * get_next_subnet_maybe_unicast ( struct subnet_record * subrec ) ;
struct subnet_record * get_next_subnet_maybe_unicast_or_wins_server ( struct subnet_record * subrec ) ;
1998-08-30 19:58:17 +04:00
/*The following definitions come from nmbd/nmbd_synclists.c */
void sync_browse_lists ( struct work_record * work ,
char * name , int nm_type ,
struct in_addr ip , BOOL local , BOOL servers ) ;
void sync_check_completion ( void ) ;
1998-08-09 18:08:42 +04:00
/*The following definitions come from nmbd/nmbd_winsproxy.c */
void make_wins_proxy_name_query_request ( struct subnet_record * subrec ,
struct packet_struct * incoming_packet ,
struct nmb_name * question_name ) ;
/*The following definitions come from nmbd/nmbd_winsserver.c */
BOOL packet_is_for_wins_server ( struct packet_struct * packet ) ;
BOOL initialise_wins ( void ) ;
void wins_process_name_refresh_request ( struct subnet_record * subrec ,
struct packet_struct * p ) ;
void wins_process_name_registration_request ( struct subnet_record * subrec ,
struct packet_struct * p ) ;
void wins_process_multihomed_name_registration_request ( struct subnet_record * subrec ,
struct packet_struct * p ) ;
void send_wins_name_query_response ( int rcode , struct packet_struct * p ,
struct name_record * namerec ) ;
void wins_process_name_query_request ( struct subnet_record * subrec ,
struct packet_struct * p ) ;
void wins_process_name_release_request ( struct subnet_record * subrec ,
struct packet_struct * p ) ;
void initiate_wins_processing ( time_t t ) ;
1998-09-17 10:36:08 +04:00
void wins_write_database ( BOOL background ) ;
1998-08-09 18:08:42 +04:00
/*The following definitions come from nmbd/nmbd_workgroupdb.c */
struct work_record * find_workgroup_on_subnet ( struct subnet_record * subrec ,
fstring name ) ;
struct work_record * create_workgroup_on_subnet ( struct subnet_record * subrec ,
fstring name , int ttl ) ;
void update_workgroup_ttl ( struct work_record * work , int ttl ) ;
void initiate_myworkgroup_startup ( struct subnet_record * subrec , struct work_record * work ) ;
void dump_workgroups ( BOOL force_write ) ;
void expire_workgroups_and_servers ( time_t t ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from param/loadparm.c */
1998-05-08 20:49:10 +04:00
char * lp_logfile ( void ) ;
char * lp_smbrun ( void ) ;
char * lp_configfile ( void ) ;
char * lp_smb_passwd_file ( void ) ;
char * lp_serverstring ( void ) ;
char * lp_printcapname ( void ) ;
char * lp_lockdir ( void ) ;
char * lp_rootdir ( void ) ;
char * lp_defaultservice ( void ) ;
char * lp_msg_command ( void ) ;
char * lp_hosts_equiv ( void ) ;
char * lp_auto_services ( void ) ;
char * lp_passwd_program ( void ) ;
char * lp_passwd_chat ( void ) ;
char * lp_passwordserver ( void ) ;
char * lp_name_resolve_order ( void ) ;
char * lp_workgroup ( void ) ;
char * lp_username_map ( void ) ;
1998-09-08 23:21:04 +04:00
char * lp_groupname_map ( void ) ;
1998-05-08 20:49:10 +04:00
char * lp_logon_script ( void ) ;
char * lp_logon_path ( void ) ;
char * lp_logon_drive ( void ) ;
char * lp_logon_home ( void ) ;
char * lp_remote_announce ( void ) ;
char * lp_remote_browse_sync ( void ) ;
char * lp_wins_server ( void ) ;
char * lp_interfaces ( void ) ;
char * lp_socket_address ( void ) ;
char * lp_nis_home_map_name ( void ) ;
char * lp_netbios_aliases ( void ) ;
char * lp_driverfile ( void ) ;
1998-08-21 15:37:40 +04:00
char * lp_panic_action ( void ) ;
1998-05-08 20:49:10 +04:00
char * lp_domain_sid ( void ) ;
char * lp_domain_groups ( void ) ;
1998-06-04 19:24:20 +04:00
char * lp_domain_admin_group ( void ) ;
char * lp_domain_guest_group ( void ) ;
1998-05-08 20:49:10 +04:00
char * lp_domain_admin_users ( void ) ;
char * lp_domain_guest_users ( void ) ;
char * lp_ldap_server ( void ) ;
char * lp_ldap_suffix ( void ) ;
char * lp_ldap_filter ( void ) ;
char * lp_ldap_root ( void ) ;
char * lp_ldap_rootpasswd ( void ) ;
1998-06-16 05:35:52 +04:00
int lp_ssl_version ( void ) ;
char * lp_ssl_hosts ( void ) ;
char * lp_ssl_hosts_resign ( void ) ;
char * lp_ssl_cacertdir ( void ) ;
char * lp_ssl_cacertfile ( void ) ;
char * lp_ssl_cert ( void ) ;
char * lp_ssl_privkey ( void ) ;
char * lp_ssl_client_cert ( void ) ;
char * lp_ssl_client_privkey ( void ) ;
char * lp_ssl_ciphers ( void ) ;
BOOL lp_ssl_enabled ( void ) ;
BOOL lp_ssl_reqClientCert ( void ) ;
BOOL lp_ssl_reqServerCert ( void ) ;
BOOL lp_ssl_compatibility ( void ) ;
1998-05-08 20:49:10 +04:00
BOOL lp_dns_proxy ( void ) ;
BOOL lp_wins_support ( void ) ;
BOOL lp_we_are_a_wins_server ( void ) ;
BOOL lp_wins_proxy ( void ) ;
BOOL lp_local_master ( void ) ;
BOOL lp_domain_controller ( void ) ;
BOOL lp_domain_master ( void ) ;
BOOL lp_domain_logons ( void ) ;
BOOL lp_preferred_master ( void ) ;
BOOL lp_load_printers ( void ) ;
BOOL lp_use_rhosts ( void ) ;
BOOL lp_readprediction ( void ) ;
BOOL lp_readbmpx ( void ) ;
BOOL lp_readraw ( void ) ;
BOOL lp_writeraw ( void ) ;
BOOL lp_null_passwords ( void ) ;
BOOL lp_strip_dot ( void ) ;
BOOL lp_encrypted_passwords ( void ) ;
BOOL lp_update_encrypted ( void ) ;
BOOL lp_syslog_only ( void ) ;
1998-08-03 23:07:55 +04:00
BOOL lp_timestamp_logs ( void ) ;
1998-05-08 20:49:10 +04:00
BOOL lp_browse_list ( void ) ;
BOOL lp_unix_realname ( void ) ;
BOOL lp_nis_home_map ( void ) ;
BOOL lp_bind_interfaces_only ( void ) ;
BOOL lp_net_wksta_user_logon ( void ) ;
BOOL lp_unix_password_sync ( void ) ;
BOOL lp_passwd_chat_debug ( void ) ;
1998-07-31 01:18:57 +04:00
BOOL lp_ole_locking_compat ( void ) ;
1998-09-05 07:14:40 +04:00
BOOL lp_nt_smb_support ( void ) ;
1998-09-06 05:37:14 +04:00
BOOL lp_stat_cache ( void ) ;
1998-09-18 21:50:18 +04:00
BOOL lp_kernel_oplocks ( void ) ;
1998-05-08 20:49:10 +04:00
int lp_os_level ( void ) ;
int lp_max_ttl ( void ) ;
int lp_max_wins_ttl ( void ) ;
int lp_min_wins_ttl ( void ) ;
int lp_max_log_size ( void ) ;
int lp_maxxmit ( void ) ;
int lp_maxmux ( void ) ;
int lp_passwordlevel ( void ) ;
int lp_usernamelevel ( void ) ;
int lp_readsize ( void ) ;
int lp_shmem_size ( void ) ;
int lp_deadtime ( void ) ;
int lp_maxprotocol ( void ) ;
int lp_security ( void ) ;
int lp_maxdisksize ( void ) ;
int lp_lpqcachetime ( void ) ;
int lp_syslog ( void ) ;
int lp_client_code_page ( void ) ;
int lp_lm_announce ( void ) ;
int lp_lm_interval ( void ) ;
1998-05-27 04:30:52 +04:00
int lp_machine_password_timeout ( void ) ;
1998-08-03 23:07:55 +04:00
int lp_change_notify_timeout ( void ) ;
1998-08-29 01:46:29 +04:00
int lp_stat_cache_size ( void ) ;
1998-05-08 20:49:10 +04:00
int lp_ldap_port ( void ) ;
char * lp_preexec ( int ) ;
char * lp_postexec ( int ) ;
char * lp_rootpreexec ( int ) ;
char * lp_rootpostexec ( int ) ;
char * lp_servicename ( int ) ;
char * lp_pathname ( int ) ;
char * lp_dontdescend ( int ) ;
char * lp_username ( int ) ;
char * lp_guestaccount ( int ) ;
char * lp_invalid_users ( int ) ;
char * lp_valid_users ( int ) ;
char * lp_admin_users ( int ) ;
char * lp_printcommand ( int ) ;
char * lp_lpqcommand ( int ) ;
char * lp_lprmcommand ( int ) ;
char * lp_lppausecommand ( int ) ;
char * lp_lpresumecommand ( int ) ;
1998-07-16 04:06:29 +04:00
char * lp_queuepausecommand ( int ) ;
char * lp_queueresumecommand ( int ) ;
1998-05-08 20:49:10 +04:00
char * lp_printername ( int ) ;
char * lp_printerdriver ( int ) ;
char * lp_hostsallow ( int ) ;
char * lp_hostsdeny ( int ) ;
char * lp_magicscript ( int ) ;
char * lp_magicoutput ( int ) ;
char * lp_comment ( int ) ;
char * lp_force_user ( int ) ;
char * lp_force_group ( int ) ;
char * lp_readlist ( int ) ;
char * lp_writelist ( int ) ;
1998-09-20 19:48:35 +04:00
char * lp_fstype ( int ) ;
1998-05-08 20:49:10 +04:00
char * lp_mangled_map ( int ) ;
char * lp_veto_files ( int ) ;
char * lp_hide_files ( int ) ;
char * lp_veto_oplocks ( int ) ;
char * lp_driverlocation ( int ) ;
BOOL lp_revalidate ( int ) ;
BOOL lp_casesensitive ( int ) ;
BOOL lp_preservecase ( int ) ;
BOOL lp_shortpreservecase ( int ) ;
BOOL lp_casemangle ( int ) ;
BOOL lp_status ( int ) ;
BOOL lp_hide_dot_files ( int ) ;
BOOL lp_browseable ( int ) ;
BOOL lp_readonly ( int ) ;
BOOL lp_no_set_dir ( int ) ;
BOOL lp_guest_ok ( int ) ;
BOOL lp_guest_only ( int ) ;
BOOL lp_print_ok ( int ) ;
BOOL lp_postscript ( int ) ;
BOOL lp_map_hidden ( int ) ;
BOOL lp_map_archive ( int ) ;
BOOL lp_locking ( int ) ;
BOOL lp_strict_locking ( int ) ;
BOOL lp_share_modes ( int ) ;
BOOL lp_oplocks ( int ) ;
BOOL lp_onlyuser ( int ) ;
BOOL lp_manglednames ( int ) ;
BOOL lp_widelinks ( int ) ;
BOOL lp_symlinks ( int ) ;
BOOL lp_syncalways ( int ) ;
1998-07-28 22:15:31 +04:00
BOOL lp_strict_sync ( int ) ;
1998-05-08 20:49:10 +04:00
BOOL lp_map_system ( int ) ;
BOOL lp_delete_readonly ( int ) ;
BOOL lp_fake_oplocks ( int ) ;
BOOL lp_recursive_veto_delete ( int ) ;
BOOL lp_dos_filetimes ( int ) ;
BOOL lp_dos_filetime_resolution ( int ) ;
BOOL lp_fake_dir_create_times ( int ) ;
1998-09-08 23:21:04 +04:00
BOOL lp_blocking_locks ( int ) ;
1998-05-08 20:49:10 +04:00
int lp_create_mode ( int ) ;
int lp_force_create_mode ( int ) ;
int lp_dir_mode ( int ) ;
int lp_force_dir_mode ( int ) ;
int lp_max_connections ( int ) ;
int lp_defaultcase ( int ) ;
int lp_minprintspace ( int ) ;
int lp_printing ( int ) ;
char lp_magicchar ( int ) ;
BOOL lp_add_home ( char * pszHomename , int iDefaultService , char * pszHomedir ) ;
int lp_add_service ( char * pszService , int iDefaultService ) ;
BOOL lp_add_printer ( char * pszPrintername , int iDefaultService ) ;
BOOL lp_file_list_changed ( void ) ;
void * lp_local_ptr ( int snum , void * ptr ) ;
BOOL lp_do_parameter ( int snum , char * pszParmName , char * pszParmValue ) ;
BOOL lp_is_default ( int snum , struct parm_struct * parm ) ;
struct parm_struct * lp_next_parameter ( int snum , int * i , int allparameters ) ;
BOOL lp_snum_ok ( int iService ) ;
1998-08-14 21:38:29 +04:00
void lp_add_one_printer ( char * name , char * comment ) ;
1998-05-08 20:49:10 +04:00
BOOL lp_loaded ( void ) ;
void lp_killunused ( BOOL ( * snumused ) ( int ) ) ;
BOOL lp_load ( char * pszFname , BOOL global_only , BOOL save_defaults , BOOL add_ipc ) ;
int lp_numservices ( void ) ;
void lp_dump ( FILE * f , BOOL show_defaults ) ;
int lp_servicenumber ( char * pszServiceName ) ;
char * volume_label ( int snum ) ;
void lp_remove_service ( int snum ) ;
void lp_copy_service ( int snum , char * new_name ) ;
int lp_default_server_announce ( void ) ;
int lp_major_announce_version ( void ) ;
int lp_minor_announce_version ( void ) ;
void lp_set_name_resolve_order ( char * new_order ) ;
1998-09-18 21:50:18 +04:00
void lp_set_kernel_oplocks ( BOOL val ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from param/params.c */
BOOL pm_process ( char * FileName ,
BOOL ( * sfunc ) ( char * ) ,
BOOL ( * pfunc ) ( char * , char * ) ) ;
1998-08-14 06:02:40 +04:00
/*The following definitions come from passdb/ldap.c */
struct passdb_ops * ldap_initialize_password_db ( void ) ;
/*The following definitions come from passdb/nispass.c */
struct passdb_ops * nisplus_initialize_password_db ( void ) ;
1998-08-10 11:04:53 +04:00
/*The following definitions come from passdb/pass_check.c */
void dfs_unlogin ( void ) ;
BOOL pass_check ( char * user , char * password , int pwlen , struct passwd * pwd ,
BOOL ( * fn ) ( char * , char * ) ) ;
1998-08-09 18:20:02 +04:00
/*The following definitions come from passdb/passdb.c */
BOOL initialize_password_db ( void ) ;
struct smb_passwd * iterate_getsmbpwuid ( uid_t smb_userid ) ;
struct smb_passwd * iterate_getsmbpwnam ( char * name ) ;
void * startsmbpwent ( BOOL update ) ;
void endsmbpwent ( void * vp ) ;
struct smb_passwd * getsmbpwent ( void * vp ) ;
BOOL add_smbpwd_entry ( struct smb_passwd * newpwd ) ;
BOOL mod_smbpwd_entry ( struct smb_passwd * pwd , BOOL override ) ;
struct smb_passwd * getsmbpwnam ( char * name ) ;
struct smb_passwd * getsmbpwuid ( uid_t smb_userid ) ;
struct sam_passwd * iterate_getsam21pwnam ( char * name ) ;
struct sam_passwd * iterate_getsam21pwrid ( uint32 rid ) ;
struct sam_passwd * iterate_getsam21pwuid ( uid_t uid ) ;
struct sam_disp_info * getsamdisprid ( uint32 rid ) ;
struct sam_passwd * getsam21pwent ( void * vp ) ;
struct sam_passwd * getsam21pwnam ( char * name ) ;
struct sam_passwd * getsam21pwrid ( uint32 rid ) ;
void pdb_init_smb ( struct smb_passwd * user ) ;
void pdb_init_sam ( struct sam_passwd * user ) ;
struct sam_disp_info * pdb_sam_to_dispinfo ( struct sam_passwd * user ) ;
struct smb_passwd * pdb_sam_to_smb ( struct sam_passwd * user ) ;
char * pdb_encode_acct_ctrl ( uint16 acct_ctrl ) ;
uint16 pdb_decode_acct_ctrl ( char * p ) ;
BOOL pdb_gethexpwd ( char * p , char * pwd ) ;
BOOL pdb_name_to_rid ( char * user_name , uint32 * u_rid , uint32 * g_rid ) ;
BOOL pdb_generate_machine_sid ( void ) ;
uint32 pdb_uid_to_user_rid ( uid_t uid ) ;
uint32 pdb_gid_to_group_rid ( gid_t gid ) ;
BOOL pdb_rid_is_user ( uint32 rid ) ;
/*The following definitions come from passdb/smbpass.c */
struct passdb_ops * file_initialize_password_db ( void ) ;
/*The following definitions come from passdb/smbpassfile.c */
BOOL do_file_lock ( int fd , int waitsecs , int type ) ;
BOOL pw_file_lock ( int fd , int type , int secs , int * plock_depth ) ;
BOOL pw_file_unlock ( int fd , int * plock_depth ) ;
BOOL trust_password_lock ( char * domain , char * name , BOOL update ) ;
BOOL trust_password_unlock ( void ) ;
BOOL trust_password_delete ( char * domain , char * name ) ;
BOOL get_trust_account_password ( unsigned char * ret_pwd , time_t * pass_last_set_time ) ;
BOOL set_trust_account_password ( unsigned char * md4_new_pwd ) ;
1998-08-15 07:26:52 +04:00
/*The following definitions come from printing/pcap.c */
BOOL pcap_printername_ok ( char * pszPrintername , char * pszPrintcapname ) ;
void pcap_printer_fn ( void ( * fn ) ( char * , char * ) ) ;
/*The following definitions come from printing/print_svid.c */
void sysv_printer_fn ( void ( * fn ) ( char * , char * ) ) ;
int sysv_printername_ok ( char * name ) ;
/*The following definitions come from printing/printing.c */
void lpq_reset ( int snum ) ;
void print_file ( connection_struct * conn , files_struct * file ) ;
int get_printqueue ( int snum ,
connection_struct * conn , print_queue_struct * * queue ,
print_status_struct * status ) ;
void del_printqueue ( connection_struct * conn , int snum , int jobid ) ;
void status_printjob ( connection_struct * conn , int snum , int jobid , int status ) ;
int printjob_encode ( int snum , int job ) ;
void printjob_decode ( int jobid , int * snum , int * job ) ;
void status_printqueue ( connection_struct * conn , int snum , int status ) ;
void load_printers ( void ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_client/cli_login.c */
BOOL cli_nt_setup_creds ( struct cli_state * cli , unsigned char mach_pwd [ 16 ] ) ;
BOOL cli_nt_srv_pwset ( struct cli_state * cli , unsigned char * new_hashof_mach_pwd ) ;
BOOL cli_nt_login_interactive ( struct cli_state * cli , char * domain , char * username ,
uint32 smb_userid_low , char * password ,
NET_ID_INFO_CTR * ctr , NET_USER_INFO_3 * user_info3 ) ;
BOOL cli_nt_login_network ( struct cli_state * cli , char * domain , char * username ,
uint32 smb_userid_low , char lm_chal [ 8 ] , char lm_chal_resp [ 24 ] ,
char nt_chal_resp [ 24 ] ,
NET_ID_INFO_CTR * ctr , NET_USER_INFO_3 * user_info3 ) ;
BOOL cli_nt_logoff ( struct cli_state * cli , NET_ID_INFO_CTR * ctr ) ;
/*The following definitions come from rpc_client/cli_netlogon.c */
BOOL cli_net_logon_ctrl2 ( struct cli_state * cli , uint32 status_level ) ;
BOOL cli_net_auth2 ( struct cli_state * cli , uint16 sec_chan ,
uint32 neg_flags , DOM_CHAL * srv_chal ) ;
BOOL cli_net_req_chal ( struct cli_state * cli , DOM_CHAL * clnt_chal , DOM_CHAL * srv_chal ) ;
BOOL cli_net_srv_pwset ( struct cli_state * cli , uint8 hashed_mach_pwd [ 16 ] ) ;
BOOL cli_net_sam_logon ( struct cli_state * cli , NET_ID_INFO_CTR * ctr ,
NET_USER_INFO_3 * user_info3 ) ;
BOOL cli_net_sam_logoff ( struct cli_state * cli , NET_ID_INFO_CTR * ctr ) ;
BOOL change_trust_account_password ( char * domain , char * remote_machine_list ) ;
/*The following definitions come from rpc_client/cli_pipe.c */
BOOL rpc_api_pipe_req ( struct cli_state * cli , uint8 op_num ,
prs_struct * data , prs_struct * rdata ) ;
BOOL cli_nt_session_open ( struct cli_state * cli , char * pipe_name , BOOL encrypted ) ;
void cli_nt_session_close ( struct cli_state * cli ) ;
/*The following definitions come from rpc_parse/parse_lsa.c */
void make_lsa_trans_name ( LSA_TRANS_NAME * trn , uint32 sid_name_use , char * name , uint32 idx ) ;
void lsa_io_q_open_pol ( char * desc , LSA_Q_OPEN_POL * r_q , prs_struct * ps , int depth ) ;
void lsa_io_r_open_pol ( char * desc , LSA_R_OPEN_POL * r_p , prs_struct * ps , int depth ) ;
void lsa_io_q_query ( char * desc , LSA_Q_QUERY_INFO * q_q , prs_struct * ps , int depth ) ;
void lsa_io_q_enum_trust_dom ( char * desc , LSA_Q_ENUM_TRUST_DOM * q_e , prs_struct * ps , int depth ) ;
void make_r_enum_trust_dom ( LSA_R_ENUM_TRUST_DOM * r_e ,
uint32 enum_context , char * domain_name , DOM_SID * domain_sid ,
uint32 status ) ;
void lsa_io_r_enum_trust_dom ( char * desc , LSA_R_ENUM_TRUST_DOM * r_e , prs_struct * ps , int depth ) ;
void lsa_io_r_query ( char * desc , LSA_R_QUERY_INFO * r_q , prs_struct * ps , int depth ) ;
void lsa_io_q_lookup_sids ( char * desc , LSA_Q_LOOKUP_SIDS * q_s , prs_struct * ps , int depth ) ;
void lsa_io_r_lookup_sids ( char * desc , LSA_R_LOOKUP_SIDS * r_s , prs_struct * ps , int depth ) ;
void lsa_io_q_lookup_rids ( char * desc , LSA_Q_LOOKUP_RIDS * q_r , prs_struct * ps , int depth ) ;
void lsa_io_r_lookup_rids ( char * desc , LSA_R_LOOKUP_RIDS * r_r , prs_struct * ps , int depth ) ;
/*The following definitions come from rpc_parse/parse_misc.c */
void smb_io_time ( char * desc , NTTIME * nttime , prs_struct * ps , int depth ) ;
void smb_io_lookup_level ( char * desc , LOOKUP_LEVEL * level , prs_struct * ps , int depth ) ;
uint32 get_enum_hnd ( ENUM_HND * enh ) ;
void make_enum_hnd ( ENUM_HND * enh , uint32 hnd ) ;
void smb_io_enum_hnd ( char * desc , ENUM_HND * hnd , prs_struct * ps , int depth ) ;
void smb_io_dom_sid ( char * desc , DOM_SID * sid , prs_struct * ps , int depth ) ;
void make_dom_sid2 ( DOM_SID2 * sid2 , DOM_SID * sid ) ;
void smb_io_dom_sid2 ( char * desc , DOM_SID2 * sid , prs_struct * ps , int depth ) ;
void make_str_hdr ( STRHDR * hdr , int max_len , int len , uint32 buffer ) ;
void smb_io_strhdr ( char * desc , STRHDR * hdr , prs_struct * ps , int depth ) ;
void make_uni_hdr ( UNIHDR * hdr , int max_len , int len , uint32 buffer ) ;
void smb_io_unihdr ( char * desc , UNIHDR * hdr , prs_struct * ps , int depth ) ;
void make_uni_hdr2 ( UNIHDR2 * hdr , int max_len , int len , uint16 terminate ) ;
void smb_io_unihdr2 ( char * desc , UNIHDR2 * hdr2 , prs_struct * ps , int depth ) ;
void make_unistr ( UNISTR * str , char * buf ) ;
void smb_io_unistr ( char * desc , UNISTR * uni , prs_struct * ps , int depth ) ;
void make_uninotstr2 ( UNINOTSTR2 * str , char * buf , int len ) ;
void smb_io_uninotstr2 ( char * desc , UNINOTSTR2 * uni2 , uint32 buffer , prs_struct * ps , int depth ) ;
void make_buf_unistr2 ( UNISTR2 * str , uint32 * ptr , char * buf ) ;
void copy_unistr2 ( UNISTR2 * str , UNISTR2 * from ) ;
void make_string2 ( STRING2 * str , char * buf , int len ) ;
void smb_io_string2 ( char * desc , STRING2 * str2 , uint32 buffer , prs_struct * ps , int depth ) ;
void make_unistr2 ( UNISTR2 * str , char * buf , int len ) ;
void smb_io_unistr2 ( char * desc , UNISTR2 * uni2 , uint32 buffer , prs_struct * ps , int depth ) ;
void make_dom_rid2 ( DOM_RID2 * rid2 , uint32 rid ) ;
void smb_io_dom_rid2 ( char * desc , DOM_RID2 * rid2 , prs_struct * ps , int depth ) ;
void make_dom_rid3 ( DOM_RID3 * rid3 , uint32 rid ) ;
void smb_io_dom_rid3 ( char * desc , DOM_RID3 * rid3 , prs_struct * ps , int depth ) ;
void make_dom_rid4 ( DOM_RID4 * rid4 , uint16 unknown , uint16 attr , uint32 rid ) ;
void make_log_info ( DOM_LOG_INFO * log , char * logon_srv , char * acct_name ,
uint16 sec_chan , char * comp_name ) ;
void smb_io_log_info ( char * desc , DOM_LOG_INFO * log , prs_struct * ps , int depth ) ;
void smb_io_chal ( char * desc , DOM_CHAL * chal , prs_struct * ps , int depth ) ;
void smb_io_cred ( char * desc , DOM_CRED * cred , prs_struct * ps , int depth ) ;
void make_clnt_info2 ( DOM_CLNT_INFO2 * clnt ,
char * logon_srv , char * comp_name ,
DOM_CRED * clnt_cred ) ;
void smb_io_clnt_info2 ( char * desc , DOM_CLNT_INFO2 * clnt , prs_struct * ps , int depth ) ;
void make_clnt_info ( DOM_CLNT_INFO * clnt ,
char * logon_srv , char * acct_name ,
uint16 sec_chan , char * comp_name ,
DOM_CRED * cred ) ;
void smb_io_clnt_info ( char * desc , DOM_CLNT_INFO * clnt , prs_struct * ps , int depth ) ;
void make_logon_id ( DOM_LOGON_ID * log , uint32 log_id_low , uint32 log_id_high ) ;
void smb_io_logon_id ( char * desc , DOM_LOGON_ID * log , prs_struct * ps , int depth ) ;
void make_owf_info ( OWF_INFO * hash , uint8 data [ 16 ] ) ;
void smb_io_owf_info ( char * desc , OWF_INFO * hash , prs_struct * ps , int depth ) ;
void smb_io_gid ( char * desc , DOM_GID * gid , prs_struct * ps , int depth ) ;
void smb_io_pol_hnd ( char * desc , POLICY_HND * pol , prs_struct * ps , int depth ) ;
void smb_io_dom_query_3 ( char * desc , DOM_QUERY_3 * d_q , prs_struct * ps , int depth ) ;
void smb_io_dom_query_5 ( char * desc , DOM_QUERY_3 * d_q , prs_struct * ps , int depth ) ;
void smb_io_dom_name ( char * desc , DOM_NAME * name , prs_struct * ps , int depth ) ;
/*The following definitions come from rpc_parse/parse_net.c */
void net_io_q_logon_ctrl2 ( char * desc , NET_Q_LOGON_CTRL2 * q_l , prs_struct * ps , int depth ) ;
void make_r_logon_ctrl2 ( NET_R_LOGON_CTRL2 * r_l , uint32 query_level ,
uint32 flags , uint32 pdc_status , uint32 logon_attempts ,
uint32 tc_status , char * trusted_domain_name ) ;
void net_io_r_logon_ctrl2 ( char * desc , NET_R_LOGON_CTRL2 * r_l , prs_struct * ps , int depth ) ;
void make_r_trust_dom ( NET_R_TRUST_DOM_LIST * r_t ,
uint32 num_doms , char * dom_name ) ;
void net_io_r_trust_dom ( char * desc , NET_R_TRUST_DOM_LIST * r_t , prs_struct * ps , int depth ) ;
void net_io_q_trust_dom ( char * desc , NET_Q_TRUST_DOM_LIST * q_l , prs_struct * ps , int depth ) ;
void make_q_req_chal ( NET_Q_REQ_CHAL * q_c ,
char * logon_srv , char * logon_clnt ,
DOM_CHAL * clnt_chal ) ;
void net_io_q_req_chal ( char * desc , NET_Q_REQ_CHAL * q_c , prs_struct * ps , int depth ) ;
void net_io_r_req_chal ( char * desc , NET_R_REQ_CHAL * r_c , prs_struct * ps , int depth ) ;
void make_q_auth_2 ( NET_Q_AUTH_2 * q_a ,
char * logon_srv , char * acct_name , uint16 sec_chan , char * comp_name ,
DOM_CHAL * clnt_chal , uint32 clnt_flgs ) ;
void net_io_q_auth_2 ( char * desc , NET_Q_AUTH_2 * q_a , prs_struct * ps , int depth ) ;
void net_io_r_auth_2 ( char * desc , NET_R_AUTH_2 * r_a , prs_struct * ps , int depth ) ;
void make_q_srv_pwset ( NET_Q_SRV_PWSET * q_s , char * logon_srv , char * acct_name ,
uint16 sec_chan , char * comp_name , DOM_CRED * cred , char nt_cypher [ 16 ] ) ;
void net_io_q_srv_pwset ( char * desc , NET_Q_SRV_PWSET * q_s , prs_struct * ps , int depth ) ;
void net_io_r_srv_pwset ( char * desc , NET_R_SRV_PWSET * r_s , prs_struct * ps , int depth ) ;
void make_id_info2 ( NET_ID_INFO_2 * id , char * domain_name ,
uint32 param_ctrl , uint32 log_id_low , uint32 log_id_high ,
char * user_name , char * wksta_name ,
unsigned char lm_challenge [ 8 ] ,
unsigned char lm_chal_resp [ 24 ] ,
unsigned char nt_chal_resp [ 24 ] ) ;
void make_sam_info ( DOM_SAM_INFO * sam ,
char * logon_srv , char * comp_name , DOM_CRED * clnt_cred ,
DOM_CRED * rtn_cred , uint16 logon_level ,
NET_ID_INFO_CTR * ctr , uint16 validation_level ) ;
void make_net_user_info3 ( NET_USER_INFO_3 * usr ,
NTTIME * logon_time ,
NTTIME * logoff_time ,
NTTIME * kickoff_time ,
NTTIME * pass_last_set_time ,
NTTIME * pass_can_change_time ,
NTTIME * pass_must_change_time ,
char * user_name ,
char * full_name ,
char * logon_script ,
char * profile_path ,
char * home_dir ,
char * dir_drive ,
uint16 logon_count ,
uint16 bad_pw_count ,
uint32 user_id ,
uint32 group_id ,
uint32 num_groups ,
DOM_GID * gids ,
uint32 user_flgs ,
char sess_key [ 16 ] ,
char * logon_srv ,
char * logon_dom ,
DOM_SID * dom_sid ,
char * other_sids ) ;
void net_io_q_sam_logon ( char * desc , NET_Q_SAM_LOGON * q_l , prs_struct * ps , int depth ) ;
void net_io_r_sam_logon ( char * desc , NET_R_SAM_LOGON * r_l , prs_struct * ps , int depth ) ;
void net_io_q_sam_logoff ( char * desc , NET_Q_SAM_LOGOFF * q_l , prs_struct * ps , int depth ) ;
void net_io_r_sam_logoff ( char * desc , NET_R_SAM_LOGOFF * r_l , prs_struct * ps , int depth ) ;
/*The following definitions come from rpc_parse/parse_prs.c */
void prs_debug ( prs_struct * ps , int depth , char * desc , char * fn_name ) ;
void prs_init ( prs_struct * ps , uint32 size ,
uint8 align , uint32 margin ,
BOOL io ) ;
void prs_mem_free ( prs_struct * ps ) ;
void prs_align ( prs_struct * ps ) ;
BOOL prs_grow ( prs_struct * ps ) ;
BOOL prs_uint8 ( char * name , prs_struct * ps , int depth , uint8 * data8 ) ;
BOOL prs_uint16 ( char * name , prs_struct * ps , int depth , uint16 * data16 ) ;
BOOL prs_uint32 ( char * name , prs_struct * ps , int depth , uint32 * data32 ) ;
BOOL prs_uint8s ( BOOL charmode , char * name , prs_struct * ps , int depth , uint8 * data8s , int len ) ;
BOOL prs_uint32s ( BOOL charmode , char * name , prs_struct * ps , int depth , uint32 * data32s , int len ) ;
BOOL prs_uninotstr2 ( BOOL charmode , char * name , prs_struct * ps , int depth , UNINOTSTR2 * str ) ;
BOOL prs_string2 ( BOOL charmode , char * name , prs_struct * ps , int depth , STRING2 * str ) ;
BOOL prs_unistr2 ( BOOL charmode , char * name , prs_struct * ps , int depth , UNISTR2 * str ) ;
BOOL prs_unistr ( char * name , prs_struct * ps , int depth , UNISTR * str ) ;
BOOL prs_string ( char * name , prs_struct * ps , int depth , char * str , uint16 len ) ;
/*The following definitions come from rpc_parse/parse_reg.c */
void reg_io_q_open_policy ( char * desc , REG_Q_OPEN_POLICY * r_q , prs_struct * ps , int depth ) ;
void reg_io_r_open_policy ( char * desc , REG_R_OPEN_POLICY * r_r , prs_struct * ps , int depth ) ;
void reg_io_q_close ( char * desc , REG_Q_CLOSE * q_u , prs_struct * ps , int depth ) ;
void reg_io_r_close ( char * desc , REG_R_CLOSE * r_u , prs_struct * ps , int depth ) ;
void reg_io_q_info ( char * desc , REG_Q_INFO * r_q , prs_struct * ps , int depth ) ;
void make_reg_r_info ( REG_R_INFO * r_r ,
uint32 level , char * os_type ,
uint32 unknown_0 , uint32 unknown_1 ,
uint32 status ) ;
void reg_io_r_info ( char * desc , REG_R_INFO * r_r , prs_struct * ps , int depth ) ;
void reg_io_q_open_entry ( char * desc , REG_Q_OPEN_ENTRY * r_q , prs_struct * ps , int depth ) ;
void make_reg_r_open_entry ( REG_R_OPEN_ENTRY * r_r ,
POLICY_HND * pol , uint32 status ) ;
void reg_io_r_open_entry ( char * desc , REG_R_OPEN_ENTRY * r_r , prs_struct * ps , int depth ) ;
/*The following definitions come from rpc_parse/parse_rpc.c */
void make_rpc_hdr ( RPC_HDR * hdr , enum RPC_PKT_TYPE pkt_type , uint8 flags ,
uint32 call_id , int data_len , int auth_len ) ;
void smb_io_rpc_hdr ( char * desc , RPC_HDR * rpc , prs_struct * ps , int depth ) ;
void make_rpc_hdr_rb ( RPC_HDR_RB * rpc ,
uint16 max_tsize , uint16 max_rsize , uint32 assoc_gid ,
uint32 num_elements , uint16 context_id , uint8 num_syntaxes ,
RPC_IFACE * abstract , RPC_IFACE * transfer ) ;
void smb_io_rpc_hdr_rb ( char * desc , RPC_HDR_RB * rpc , prs_struct * ps , int depth ) ;
void make_rpc_hdr_ba ( RPC_HDR_BA * rpc ,
uint16 max_tsize , uint16 max_rsize , uint32 assoc_gid ,
char * pipe_addr ,
uint8 num_results , uint16 result , uint16 reason ,
RPC_IFACE * transfer ) ;
void smb_io_rpc_hdr_ba ( char * desc , RPC_HDR_BA * rpc , prs_struct * ps , int depth ) ;
void make_rpc_hdr_req ( RPC_HDR_REQ * hdr , uint32 data_len , uint16 opnum ) ;
void smb_io_rpc_hdr_req ( char * desc , RPC_HDR_REQ * rpc , prs_struct * ps , int depth ) ;
void smb_io_rpc_hdr_resp ( char * desc , RPC_HDR_RESP * rpc , prs_struct * ps , int depth ) ;
void make_rpc_auth_ntlmssp_req ( RPC_AUTH_NTLMSSP_REQ * req ,
fstring ntlmssp_str , uint32 ntlmssp_ver ,
uint32 unknown_0 , fstring myname , fstring domain ) ;
void smb_io_rpc_auth_ntlmssp_req ( char * desc , RPC_AUTH_NTLMSSP_REQ * req , prs_struct * ps , int depth ) ;
void make_rpc_auth_ntlmssp_resp ( RPC_AUTH_NTLMSSP_RESP * rsp ,
uint8 auth_type , uint8 auth_level , uint8 stub_type_len ,
fstring ntlmssp_str , uint32 ntlmssp_ver ,
uint32 unknown_1 , uint32 unknown_2 , uint32 unknown_3 ,
uint8 data [ 16 ] ) ;
void smb_io_rpc_auth_ntlmssp_resp ( char * desc , RPC_AUTH_NTLMSSP_RESP * rsp , prs_struct * ps , int depth ) ;
/*The following definitions come from rpc_parse/parse_samr.c */
void samr_io_q_close_hnd ( char * desc , SAMR_Q_CLOSE_HND * q_u , prs_struct * ps , int depth ) ;
void samr_io_r_close_hnd ( char * desc , SAMR_R_CLOSE_HND * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_open_domain ( char * desc , SAMR_Q_OPEN_DOMAIN * q_u , prs_struct * ps , int depth ) ;
void samr_io_r_open_domain ( char * desc , SAMR_R_OPEN_DOMAIN * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_unknown_3 ( char * desc , SAMR_Q_UNKNOWN_3 * q_u , prs_struct * ps , int depth ) ;
void make_dom_sid3 ( DOM_SID3 * sid3 , uint16 unk_0 , uint16 unk_1 , DOM_SID * sid ) ;
void make_samr_r_unknown_3 ( SAMR_R_UNKNOWN_3 * r_u ,
uint16 unknown_2 , uint16 unknown_3 ,
uint32 unknown_4 , uint16 unknown_6 , uint16 unknown_7 ,
int num_sid3s , DOM_SID3 sid3 [ MAX_SAM_SIDS ] ,
uint32 status ) ;
void samr_io_r_unknown_3 ( char * desc , SAMR_R_UNKNOWN_3 * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_enum_dom_users ( char * desc , SAMR_Q_ENUM_DOM_USERS * q_e , prs_struct * ps , int depth ) ;
void make_samr_r_enum_dom_users ( SAMR_R_ENUM_DOM_USERS * r_u ,
uint16 total_num_entries , uint16 unk_0 ,
uint32 num_sam_entries , SAM_USER_INFO_21 pass [ MAX_SAM_ENTRIES ] , uint32 status ) ;
void samr_io_r_enum_dom_users ( char * desc , SAMR_R_ENUM_DOM_USERS * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_enum_dom_aliases ( char * desc , SAMR_Q_ENUM_DOM_ALIASES * q_e , prs_struct * ps , int depth ) ;
void make_samr_r_enum_dom_aliases ( SAMR_R_ENUM_DOM_ALIASES * r_u ,
uint32 num_sam_entries , SAM_USER_INFO_21 grps [ MAX_SAM_ENTRIES ] ,
uint32 status ) ;
void samr_io_r_enum_dom_aliases ( char * desc , SAMR_R_ENUM_DOM_ALIASES * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_query_dispinfo ( char * desc , SAMR_Q_QUERY_DISPINFO * q_e , prs_struct * ps , int depth ) ;
void make_sam_info_2 ( SAM_INFO_2 * sam , uint32 acb_mask ,
uint32 start_idx , uint32 num_sam_entries ,
SAM_USER_INFO_21 pass [ MAX_SAM_ENTRIES ] ) ;
void make_sam_info_1 ( SAM_INFO_1 * sam , uint32 acb_mask ,
uint32 start_idx , uint32 num_sam_entries ,
SAM_USER_INFO_21 pass [ MAX_SAM_ENTRIES ] ) ;
void make_samr_r_query_dispinfo ( SAMR_R_QUERY_DISPINFO * r_u ,
uint16 switch_level , SAM_INFO_CTR * ctr , uint32 status ) ;
void samr_io_r_query_dispinfo ( char * desc , SAMR_R_QUERY_DISPINFO * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_enum_dom_groups ( char * desc , SAMR_Q_ENUM_DOM_GROUPS * q_e , prs_struct * ps , int depth ) ;
void make_samr_r_enum_dom_groups ( SAMR_R_ENUM_DOM_GROUPS * r_u ,
uint32 start_idx , uint32 num_sam_entries ,
SAM_USER_INFO_21 pass [ MAX_SAM_ENTRIES ] ,
uint32 status ) ;
void samr_io_r_enum_dom_groups ( char * desc , SAMR_R_ENUM_DOM_GROUPS * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_query_aliasinfo ( char * desc , SAMR_Q_QUERY_ALIASINFO * q_e , prs_struct * ps , int depth ) ;
void make_samr_r_query_aliasinfo ( SAMR_R_QUERY_ALIASINFO * r_u ,
uint16 switch_value , char * acct_desc ,
uint32 status ) ;
void samr_io_r_query_aliasinfo ( char * desc , SAMR_R_QUERY_ALIASINFO * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_lookup_ids ( char * desc , SAMR_Q_LOOKUP_IDS * q_u , prs_struct * ps , int depth ) ;
void make_samr_r_lookup_ids ( SAMR_R_LOOKUP_IDS * r_u ,
uint32 num_rids , uint32 * rid , uint32 status ) ;
void samr_io_r_lookup_ids ( char * desc , SAMR_R_LOOKUP_IDS * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_lookup_names ( char * desc , SAMR_Q_LOOKUP_NAMES * q_u , prs_struct * ps , int depth ) ;
void make_samr_r_lookup_names ( SAMR_R_LOOKUP_NAMES * r_u ,
uint32 num_rids , uint32 * rid , uint32 status ) ;
void samr_io_r_lookup_names ( char * desc , SAMR_R_LOOKUP_NAMES * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_unknown_12 ( char * desc , SAMR_Q_UNKNOWN_12 * q_u , prs_struct * ps , int depth ) ;
void make_samr_r_unknown_12 ( SAMR_R_UNKNOWN_12 * r_u ,
uint32 num_aliases , fstring * als_name , uint32 * num_als_usrs ,
uint32 status ) ;
void samr_io_r_unknown_12 ( char * desc , SAMR_R_UNKNOWN_12 * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_open_user ( char * desc , SAMR_Q_OPEN_USER * q_u , prs_struct * ps , int depth ) ;
void samr_io_r_open_user ( char * desc , SAMR_R_OPEN_USER * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_query_usergroups ( char * desc , SAMR_Q_QUERY_USERGROUPS * q_u , prs_struct * ps , int depth ) ;
void make_samr_r_query_usergroups ( SAMR_R_QUERY_USERGROUPS * r_u ,
uint32 num_gids , DOM_GID * gid , uint32 status ) ;
void samr_io_r_query_usergroups ( char * desc , SAMR_R_QUERY_USERGROUPS * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_query_userinfo ( char * desc , SAMR_Q_QUERY_USERINFO * q_u , prs_struct * ps , int depth ) ;
void make_sam_user_info21 ( SAM_USER_INFO_21 * usr ,
NTTIME * logon_time ,
NTTIME * logoff_time ,
NTTIME * kickoff_time ,
NTTIME * pass_last_set_time ,
NTTIME * pass_can_change_time ,
NTTIME * pass_must_change_time ,
char * user_name ,
char * full_name ,
char * home_dir ,
char * dir_drive ,
char * logon_script ,
char * profile_path ,
char * description ,
char * workstations ,
char * unknown_str ,
char * munged_dial ,
uint32 user_rid ,
uint32 group_rid ,
uint16 acb_info ,
uint32 unknown_3 ,
uint16 logon_divs ,
LOGON_HRS * hrs ,
uint32 unknown_5 ,
uint32 unknown_6 ) ;
void make_samr_r_query_userinfo ( SAMR_R_QUERY_USERINFO * r_u ,
uint16 switch_value , void * info , uint32 status ) ;
void samr_io_r_query_userinfo ( char * desc , SAMR_R_QUERY_USERINFO * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_unknown_32 ( char * desc , SAMR_Q_UNKNOWN_32 * q_u , prs_struct * ps , int depth ) ;
void samr_io_r_unknown_32 ( char * desc , SAMR_R_UNKNOWN_32 * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_connect ( char * desc , SAMR_Q_CONNECT * q_u , prs_struct * ps , int depth ) ;
void samr_io_r_connect ( char * desc , SAMR_R_CONNECT * r_u , prs_struct * ps , int depth ) ;
void samr_io_q_open_alias ( char * desc , SAMR_Q_OPEN_ALIAS * q_u , prs_struct * ps , int depth ) ;
void samr_io_r_open_alias ( char * desc , SAMR_R_OPEN_ALIAS * r_u , prs_struct * ps , int depth ) ;
/*The following definitions come from rpc_parse/parse_srv.c */
void make_srv_share_info1_str ( SH_INFO_1_STR * sh1 , char * net_name , char * remark ) ;
void make_srv_share_info1 ( SH_INFO_1 * sh1 , char * net_name , uint32 type , char * remark ) ;
void make_srv_share_info2_str ( SH_INFO_2_STR * sh2 ,
char * net_name , char * remark ,
char * path , char * passwd ) ;
void make_srv_share_info2 ( SH_INFO_2 * sh2 ,
char * net_name , uint32 type , char * remark ,
uint32 perms , uint32 max_uses , uint32 num_uses ,
char * path , char * passwd ) ;
void srv_io_q_net_share_enum ( char * desc , SRV_Q_NET_SHARE_ENUM * q_n , prs_struct * ps , int depth ) ;
void srv_io_r_net_share_enum ( char * desc , SRV_R_NET_SHARE_ENUM * r_n , prs_struct * ps , int depth ) ;
void make_srv_sess_info0_str ( SESS_INFO_0_STR * ss0 , char * name ) ;
void make_srv_sess_info0 ( SESS_INFO_0 * ss0 , char * name ) ;
void make_srv_sess_info1_str ( SESS_INFO_1_STR * ss1 , char * name , char * user ) ;
void make_srv_sess_info1 ( SESS_INFO_1 * ss1 ,
char * name , char * user ,
uint32 num_opens , uint32 open_time , uint32 idle_time ,
uint32 user_flags ) ;
void srv_io_q_net_sess_enum ( char * desc , SRV_Q_NET_SESS_ENUM * q_n , prs_struct * ps , int depth ) ;
void srv_io_r_net_sess_enum ( char * desc , SRV_R_NET_SESS_ENUM * r_n , prs_struct * ps , int depth ) ;
void make_srv_conn_info0 ( CONN_INFO_0 * ss0 , uint32 id ) ;
void make_srv_conn_info1_str ( CONN_INFO_1_STR * ss1 , char * usr_name , char * net_name ) ;
void make_srv_conn_info1 ( CONN_INFO_1 * ss1 ,
uint32 id , uint32 type ,
uint32 num_opens , uint32 num_users , uint32 open_time ,
char * usr_name , char * net_name ) ;
void srv_io_q_net_conn_enum ( char * desc , SRV_Q_NET_CONN_ENUM * q_n , prs_struct * ps , int depth ) ;
void srv_io_r_net_conn_enum ( char * desc , SRV_R_NET_CONN_ENUM * r_n , prs_struct * ps , int depth ) ;
void make_srv_file_info3_str ( FILE_INFO_3_STR * fi3 , char * user_name , char * path_name ) ;
void make_srv_file_info3 ( FILE_INFO_3 * fl3 ,
uint32 id , uint32 perms , uint32 num_locks ,
char * path_name , char * user_name ) ;
void srv_io_q_net_file_enum ( char * desc , SRV_Q_NET_FILE_ENUM * q_n , prs_struct * ps , int depth ) ;
void srv_io_r_net_file_enum ( char * desc , SRV_R_NET_FILE_ENUM * r_n , prs_struct * ps , int depth ) ;
void make_srv_info_101 ( SRV_INFO_101 * sv101 , uint32 platform_id , char * name ,
uint32 ver_major , uint32 ver_minor ,
uint32 srv_type , char * comment ) ;
void make_srv_info_102 ( SRV_INFO_102 * sv102 , uint32 platform_id , char * name ,
char * comment , uint32 ver_major , uint32 ver_minor ,
uint32 srv_type , uint32 users , uint32 disc , uint32 hidden ,
uint32 announce , uint32 ann_delta , uint32 licenses ,
char * usr_path ) ;
void srv_io_q_net_srv_get_info ( char * desc , SRV_Q_NET_SRV_GET_INFO * q_n , prs_struct * ps , int depth ) ;
void make_srv_r_net_srv_get_info ( SRV_R_NET_SRV_GET_INFO * srv ,
uint32 switch_value , SRV_INFO_CTR * ctr , uint32 status ) ;
void srv_io_r_net_srv_get_info ( char * desc , SRV_R_NET_SRV_GET_INFO * r_n , prs_struct * ps , int depth ) ;
void srv_io_q_net_remote_tod ( char * desc , SRV_Q_NET_REMOTE_TOD * q_n , prs_struct * ps , int depth ) ;
void make_time_of_day_info ( TIME_OF_DAY_INFO * tod , uint32 elapsedt , uint32 msecs ,
uint32 hours , uint32 mins , uint32 secs , uint32 hunds ,
uint32 zone , uint32 tintervals , uint32 day ,
uint32 month , uint32 year , uint32 weekday ) ;
void srv_io_r_net_remote_tod ( char * desc , SRV_R_NET_REMOTE_TOD * r_n , prs_struct * ps , int depth ) ;
/*The following definitions come from rpc_parse/parse_wks.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void wks_io_q_query_info ( char * desc , WKS_Q_QUERY_INFO * q_u , prs_struct * ps , int depth ) ;
void make_wks_info_100 ( WKS_INFO_100 * inf ,
uint32 platform_id , uint32 ver_major , uint32 ver_minor ,
char * my_name , char * domain_name ) ;
void make_wks_r_query_info ( WKS_R_QUERY_INFO * r_u ,
uint32 switch_value , WKS_INFO_100 * wks100 ,
int status ) ;
void wks_io_r_query_info ( char * desc , WKS_R_QUERY_INFO * r_u , prs_struct * ps , int depth ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_ldap_helpers.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void ldap_helper_dummy ( void ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_lsa.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
BOOL api_ntlsa_rpc ( pipes_struct * p , prs_struct * data ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_lsa_hnd.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
void init_lsa_policy_hnd ( void ) ;
BOOL open_lsa_policy_hnd ( POLICY_HND * hnd ) ;
int find_lsa_policy_by_hnd ( POLICY_HND * hnd ) ;
BOOL set_lsa_policy_samr_rid ( POLICY_HND * hnd , uint32 rid ) ;
BOOL set_lsa_policy_samr_pol_status ( POLICY_HND * hnd , uint32 pol_status ) ;
BOOL set_lsa_policy_samr_sid ( POLICY_HND * hnd , DOM_SID * sid ) ;
uint32 get_lsa_policy_samr_rid ( POLICY_HND * hnd ) ;
BOOL set_lsa_policy_reg_name ( POLICY_HND * hnd , fstring name ) ;
BOOL close_lsa_policy_hnd ( POLICY_HND * hnd ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_netlog.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
BOOL api_netlog_rpc ( pipes_struct * p , prs_struct * data ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_pipe_hnd.c */
1998-05-08 20:49:10 +04:00
1998-08-17 07:06:20 +04:00
void reset_chain_p ( void ) ;
1998-08-09 17:25:34 +04:00
void init_rpc_pipe_hnd ( void ) ;
1998-08-17 07:06:20 +04:00
pipes_struct * open_rpc_pipe_p ( char * pipe_name ,
1998-08-17 07:52:05 +04:00
connection_struct * conn , uint16 vuid ) ;
1998-08-17 07:06:20 +04:00
int read_pipe ( pipes_struct * p , char * data , uint32 pos , int n ) ;
1998-08-09 17:25:34 +04:00
BOOL set_rpc_pipe_hnd_state ( pipes_struct * p , uint16 device_state ) ;
1998-08-17 07:06:20 +04:00
BOOL close_rpc_pipe_hnd ( pipes_struct * p , connection_struct * conn ) ;
pipes_struct * get_rpc_pipe_p ( char * buf , int where ) ;
pipes_struct * get_rpc_pipe ( int pnum ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_reg.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
BOOL api_reg_rpc ( pipes_struct * p , prs_struct * data ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_samr.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
BOOL api_samr_rpc ( pipes_struct * p , prs_struct * data ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_srvsvc.c */
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
BOOL api_srvsvc_rpc ( pipes_struct * p , prs_struct * data ) ;
1998-07-29 07:08:05 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from rpc_server/srv_util.c */
1998-05-18 15:54:00 +04:00
1998-08-09 17:25:34 +04:00
int make_dom_gids ( char * gids_str , DOM_GID * * ppgids ) ;
BOOL create_rpc_reply ( pipes_struct * p ,
uint32 data_start , uint32 data_end ) ;
BOOL api_rpcTNP ( pipes_struct * p , char * rpc_name , struct api_struct * api_rpc_cmds ,
prs_struct * data ) ;
void get_domain_user_groups ( char * domain_groups , char * user ) ;
uint32 lookup_group_name ( uint32 rid , char * group_name , uint32 * type ) ;
uint32 lookup_alias_name ( uint32 rid , char * alias_name , uint32 * type ) ;
uint32 lookup_user_name ( uint32 rid , char * user_name , uint32 * type ) ;
uint32 lookup_group_rid ( char * group_name , uint32 * rid ) ;
uint32 lookup_alias_rid ( char * alias_name , uint32 * rid ) ;
uint32 lookup_user_rid ( char * user_name , uint32 * rid ) ;
/*The following definitions come from rpc_server/srv_wkssvc.c */
BOOL api_wkssvc_rpc ( pipes_struct * p , prs_struct * data ) ;
1998-08-19 05:49:34 +04:00
/*The following definitions come from smbd/blocking.c */
BOOL push_blocking_lock_request ( char * inbuf , int length , int lock_timeout , int lock_num ) ;
void remove_pending_lock_requests_by_fid ( files_struct * fsp ) ;
void remove_pending_lock_requests_by_mid ( int mid ) ;
void process_blocking_lock_queue ( time_t t ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/chgpasswd.c */
BOOL chgpasswd ( char * name , char * oldpass , char * newpass , BOOL as_root ) ;
BOOL chgpasswd ( char * name , char * oldpass , char * newpass , BOOL as_root ) ;
BOOL check_lanman_password ( char * user , unsigned char * pass1 ,
unsigned char * pass2 , struct smb_passwd * * psmbpw ) ;
BOOL change_lanman_password ( struct smb_passwd * smbpw , unsigned char * pass1 , unsigned char * pass2 ) ;
BOOL check_oem_password ( char * user , unsigned char * data ,
struct smb_passwd * * psmbpw , char * new_passwd ,
int new_passwd_size ) ;
BOOL change_oem_password ( struct smb_passwd * smbpw , char * new_passwd , BOOL override ) ;
1998-08-17 17:11:34 +04:00
/*The following definitions come from smbd/close.c */
void close_file ( files_struct * fsp , BOOL normal_close ) ;
void close_directory ( files_struct * fsp ) ;
1998-08-17 10:13:32 +04:00
/*The following definitions come from smbd/conn.c */
void conn_init ( void ) ;
int conn_num_open ( void ) ;
BOOL conn_snum_used ( int snum ) ;
connection_struct * conn_find ( int cnum ) ;
connection_struct * conn_new ( void ) ;
void conn_close_all ( void ) ;
BOOL conn_idle_all ( time_t t , int deadtime ) ;
void conn_free ( connection_struct * conn ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/connection.c */
1998-08-14 21:38:29 +04:00
BOOL yield_connection ( connection_struct * conn , char * name , int max_connections ) ;
BOOL claim_connection ( connection_struct * conn , char * name , int max_connections , BOOL Clear ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/dfree.c */
1998-09-18 04:12:15 +04:00
SMB_BIG_UINT sys_disk_free ( char * path , SMB_BIG_UINT * bsize , SMB_BIG_UINT * dfree , SMB_BIG_UINT * dsize ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/dir.c */
void init_dptrs ( void ) ;
char * dptr_path ( int key ) ;
char * dptr_wcard ( int key ) ;
BOOL dptr_set_wcard ( int key , char * wcard ) ;
BOOL dptr_set_attr ( int key , uint16 attr ) ;
uint16 dptr_attr ( int key ) ;
void dptr_close ( int key ) ;
1998-08-14 21:38:29 +04:00
void dptr_closecnum ( connection_struct * conn ) ;
void dptr_idlecnum ( connection_struct * conn ) ;
1998-08-09 17:25:34 +04:00
void dptr_closepath ( char * path , int pid ) ;
1998-08-14 21:38:29 +04:00
int dptr_create ( connection_struct * conn , char * path , BOOL expect_close , int pid ) ;
1998-08-09 17:25:34 +04:00
BOOL dptr_fill ( char * buf1 , unsigned int key ) ;
BOOL dptr_zero ( char * buf ) ;
void * dptr_fetch ( char * buf , int * num ) ;
void * dptr_fetch_lanman2 ( int dptr_num ) ;
1998-09-02 00:11:54 +04:00
BOOL dir_check_ftype ( connection_struct * conn , int mode , SMB_STRUCT_STAT * st , int dirtype ) ;
1998-09-03 22:40:31 +04:00
BOOL get_dir_entry ( connection_struct * conn , char * mask , int dirtype , char * fname ,
SMB_OFF_T * size , int * mode , time_t * date , BOOL check_descend ) ;
1998-08-14 21:38:29 +04:00
void * OpenDir ( connection_struct * conn , char * name , BOOL use_veto ) ;
1998-08-09 17:25:34 +04:00
void CloseDir ( void * p ) ;
char * ReadDirName ( void * p ) ;
BOOL SeekDir ( void * p , int pos ) ;
int TellDir ( void * p ) ;
void DirCacheAdd ( char * path , char * name , char * dname , int snum ) ;
char * DirCacheCheck ( char * path , char * name , int snum ) ;
void DirCacheFlush ( int snum ) ;
1998-08-17 11:40:06 +04:00
/*The following definitions come from smbd/dosmode.c */
mode_t unix_mode ( connection_struct * conn , int dosmode ) ;
1998-09-02 00:11:54 +04:00
int dos_mode ( connection_struct * conn , char * path , SMB_STRUCT_STAT * sbuf ) ;
int file_chmod ( connection_struct * conn , char * fname , int dosmode , SMB_STRUCT_STAT * st ) ;
1998-08-17 17:11:34 +04:00
int file_utime ( connection_struct * conn , char * fname , struct utimbuf * times ) ;
BOOL set_filetime ( connection_struct * conn , char * fname , time_t mtime ) ;
/*The following definitions come from smbd/error.c */
int cached_error_packet ( char * inbuf , char * outbuf , files_struct * fsp , int line ) ;
int unix_error_packet ( char * inbuf , char * outbuf , int def_class , uint32 def_code , int line ) ;
int error_packet ( char * inbuf , char * outbuf , int error_class , uint32 error_code , int line ) ;
1998-08-17 11:40:06 +04:00
1998-08-17 11:15:54 +04:00
/*The following definitions come from smbd/fileio.c */
1998-09-03 22:40:31 +04:00
SMB_OFF_T seek_file ( files_struct * fsp , SMB_OFF_T pos ) ;
1998-09-11 05:24:30 +04:00
ssize_t read_file ( files_struct * fsp , char * data , SMB_OFF_T pos , size_t n ) ;
ssize_t write_file ( files_struct * fsp , char * data , size_t n ) ;
1998-08-17 11:40:06 +04:00
void sync_file ( connection_struct * conn , files_struct * fsp ) ;
/*The following definitions come from smbd/filename.c */
1998-08-28 00:38:53 +04:00
void print_stat_cache_statistics ( void ) ;
BOOL unix_convert ( char * name , connection_struct * conn , char * saved_last_component ,
1998-09-02 00:11:54 +04:00
BOOL * bad_path , SMB_STRUCT_STAT * pst ) ;
1998-08-17 11:40:06 +04:00
BOOL check_name ( char * name , connection_struct * conn ) ;
1998-08-17 11:15:54 +04:00
1998-08-15 11:27:34 +04:00
/*The following definitions come from smbd/files.c */
1998-08-16 07:04:06 +04:00
files_struct * file_new ( void ) ;
1998-09-02 00:11:54 +04:00
file_fd_struct * fd_get_already_open ( SMB_STRUCT_STAT * sbuf ) ;
1998-08-15 11:27:34 +04:00
file_fd_struct * fd_get_new ( void ) ;
void file_close_conn ( connection_struct * conn ) ;
void file_init ( void ) ;
void file_close_user ( int vuid ) ;
1998-09-01 00:20:54 +04:00
files_struct * file_find_dit ( SMB_DEV_T dev , SMB_INO_T inode , struct timeval * tval ) ;
1998-08-15 11:27:34 +04:00
files_struct * file_find_print ( void ) ;
void file_sync_all ( connection_struct * conn ) ;
1998-09-05 07:14:40 +04:00
void fd_ptr_free ( file_fd_struct * fd_ptr ) ;
1998-08-15 11:27:34 +04:00
void file_free ( files_struct * fsp ) ;
1998-08-17 07:52:05 +04:00
files_struct * file_fsp ( char * buf , int where ) ;
void file_chain_reset ( void ) ;
1998-08-18 02:59:53 +04:00
void file_chain_save ( void ) ;
void file_chain_restore ( void ) ;
1998-08-15 11:27:34 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/ipc.c */
1998-08-14 21:38:29 +04:00
int reply_trans ( connection_struct * conn , char * inbuf , char * outbuf , int size , int bufsize ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/mangle.c */
BOOL is_mangled ( char * s ) ;
BOOL is_8_3 ( char * fname , BOOL check_case ) ;
void reset_mangled_cache ( void ) ;
BOOL check_mangled_cache ( char * s ) ;
1998-09-03 07:14:31 +04:00
void mangle_name_83 ( char * s ) ;
BOOL name_map_mangle ( char * OutName , BOOL need83 , int snum ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/message.c */
1998-05-08 20:49:10 +04:00
1998-08-14 21:38:29 +04:00
int reply_sends ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_sendstrt ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_sendtxt ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_sendend ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
1998-05-08 20:49:10 +04:00
1998-08-17 11:15:54 +04:00
/*The following definitions come from smbd/negprot.c */
int reply_negprot ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size ,
int dum_buffsize ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/nttrans.c */
1998-07-17 02:46:06 +04:00
1998-08-14 21:38:29 +04:00
int reply_ntcreate_and_X ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_ntcancel ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_nttranss ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
1998-08-15 11:27:34 +04:00
void remove_pending_change_notify_requests_by_fid ( files_struct * fsp ) ;
1998-08-03 23:07:55 +04:00
void process_pending_change_notify_queue ( time_t t ) ;
1998-08-14 21:38:29 +04:00
int reply_nttrans ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
1998-07-17 02:46:06 +04:00
1998-08-17 17:11:34 +04:00
/*The following definitions come from smbd/open.c */
void fd_add_to_uid_cache ( file_fd_struct * fd_ptr , uid_t u ) ;
1998-09-08 23:21:04 +04:00
uint16 fd_attempt_close ( file_fd_struct * fd_ptr ) ;
1998-08-17 17:11:34 +04:00
void open_file_shared ( files_struct * fsp , connection_struct * conn , char * fname , int share_mode , int ofun ,
1998-09-18 22:09:17 +04:00
mode_t mode , int oplock_request , int * Access , int * action ) ;
1998-08-17 17:11:34 +04:00
int open_directory ( files_struct * fsp , connection_struct * conn ,
1998-09-18 03:06:57 +04:00
char * fname , int smb_ofun , mode_t unixmode , int * action ) ;
1998-08-17 17:11:34 +04:00
BOOL check_file_sharing ( connection_struct * conn , char * fname , BOOL rename_op ) ;
/*The following definitions come from smbd/oplock.c */
BOOL open_oplock_ipc ( void ) ;
BOOL process_local_message ( int sock , char * buffer , int buf_size ) ;
BOOL request_oplock_break ( share_mode_entry * share_entry ,
1998-09-01 00:20:54 +04:00
SMB_DEV_T dev , SMB_INO_T inode ) ;
1998-08-17 17:11:34 +04:00
BOOL attempt_close_oplocked_file ( files_struct * fsp ) ;
1998-09-18 21:50:18 +04:00
void check_kernel_oplocks ( BOOL * have_oplocks ) ;
1998-08-17 17:11:34 +04:00
1998-08-09 18:58:51 +04:00
/*The following definitions come from smbd/password.c */
void generate_next_challenge ( char * challenge ) ;
BOOL set_challenge ( char * challenge ) ;
user_struct * get_valid_user_struct ( uint16 vuid ) ;
void invalidate_vuid ( uint16 vuid ) ;
char * validated_username ( uint16 vuid ) ;
int setup_groups ( char * user , int uid , int gid , int * p_ngroups , GID_T * * p_groups ) ;
uint16 register_vuid ( int uid , int gid , char * unix_name , char * requested_name , BOOL guest ) ;
void add_session_user ( char * user ) ;
BOOL smb_password_check ( char * password , unsigned char * part_passwd , unsigned char * c8 ) ;
BOOL smb_password_ok ( struct smb_passwd * smb_pass ,
uchar lm_pass [ 24 ] , uchar nt_pass [ 24 ] ) ;
BOOL password_ok ( char * user , char * password , int pwlen , struct passwd * pwd ) ;
BOOL user_ok ( char * user , int snum ) ;
BOOL authorise_login ( int snum , char * user , char * password , int pwlen ,
BOOL * guest , BOOL * force , uint16 vuid ) ;
BOOL check_hosts_equiv ( char * user ) ;
struct cli_state * server_client ( void ) ;
struct cli_state * server_cryptkey ( void ) ;
BOOL server_validate ( char * user , char * domain ,
char * pass , int passlen ,
char * ntpass , int ntpasslen ) ;
BOOL domain_client_validate ( char * user , char * domain ,
char * smb_apasswd , int smb_apasslen ,
char * smb_ntpasswd , int smb_ntpasslen ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/pipes.c */
1998-05-08 20:49:10 +04:00
1998-08-14 21:38:29 +04:00
int reply_open_pipe_and_X ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
1998-05-08 20:49:10 +04:00
int reply_pipe_read_and_X ( char * inbuf , char * outbuf , int length , int bufsize ) ;
1998-08-14 21:38:29 +04:00
int reply_pipe_close ( connection_struct * conn , char * inbuf , char * outbuf ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/predict.c */
1998-05-08 20:49:10 +04:00
1998-09-11 05:24:30 +04:00
ssize_t read_predict ( int fd , SMB_OFF_T offset , char * buf , char * * ptr , size_t num ) ;
1998-05-08 20:49:10 +04:00
void do_read_prediction ( void ) ;
void invalidate_read_prediction ( int fd ) ;
1998-08-17 17:11:34 +04:00
/*The following definitions come from smbd/process.c */
BOOL receive_next_smb ( int smbfd , int oplockfd , char * inbuf , int bufsize , int timeout ) ;
void process_smb ( char * inbuf , char * outbuf ) ;
char * smb_fn_name ( int type ) ;
void construct_reply_common ( char * inbuf , char * outbuf ) ;
1998-08-20 23:28:37 +04:00
int chain_reply ( char * inbuf , char * outbuf , int size , int bufsize ) ;
1998-08-17 17:11:34 +04:00
void smbd_process ( void ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/quotas.c */
1998-05-08 20:49:10 +04:00
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/reply.c */
1998-05-08 20:49:10 +04:00
int reply_special ( char * inbuf , char * outbuf ) ;
1998-08-14 21:38:29 +04:00
int reply_tcon ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_tcon_and_X ( connection_struct * conn , char * inbuf , char * outbuf , int length , int bufsize ) ;
1998-05-08 20:49:10 +04:00
int reply_unknown ( char * inbuf , char * outbuf ) ;
1998-08-14 21:38:29 +04:00
int reply_ioctl ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_sesssetup_and_X ( connection_struct * conn , char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_chkpth ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_getatr ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_setatr ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_dskattr ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_search ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_fclose ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_open ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_open_and_X ( connection_struct * conn , char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_ulogoffX ( connection_struct * conn , char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_mknew ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_ctemp ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_unlink ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_readbraw ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
1998-08-20 23:28:37 +04:00
int reply_lockread ( connection_struct * conn , char * inbuf , char * outbuf , int length , int dum_buffsiz ) ;
1998-08-14 21:38:29 +04:00
int reply_read ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_read_and_X ( connection_struct * conn , char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_writebraw ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_writeunlock ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_write ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_write_and_X ( connection_struct * conn , char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_lseek ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_flush ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_exit ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_close ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_writeclose ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_lock ( connection_struct * conn ,
1998-08-20 23:28:37 +04:00
char * inbuf , char * outbuf , int length , int dum_buffsize ) ;
1998-08-14 21:38:29 +04:00
int reply_unlock ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_tdis ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_echo ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_printopen ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_printclose ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_printqueue ( connection_struct * conn ,
char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_printwrite ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_mkdir ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_rmdir ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int rename_internals ( connection_struct * conn ,
char * inbuf , char * outbuf , char * name ,
char * newname , BOOL replace_if_exists ) ;
int reply_mv ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_copy ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_setdir ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_lockingX ( connection_struct * conn , char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_readbmpx ( connection_struct * conn , char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_writebmpx ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_writebs ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_setattrE ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
int reply_getattrE ( connection_struct * conn , char * inbuf , char * outbuf , int dum_size , int dum_buffsize ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/server.c */
1998-05-08 20:49:10 +04:00
1998-08-17 17:11:34 +04:00
BOOL reload_services ( BOOL test ) ;
void exit_server ( char * reason ) ;
/*The following definitions come from smbd/service.c */
1998-08-14 21:38:29 +04:00
BOOL become_service ( connection_struct * conn , BOOL do_chdir ) ;
1998-05-08 20:49:10 +04:00
int find_service ( char * service ) ;
1998-08-14 21:38:29 +04:00
connection_struct * make_connection ( char * service , char * user , char * password , int pwlen , char * dev , uint16 vuid , int * ecode ) ;
void close_cnum ( connection_struct * conn , uint16 vuid ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/ssl.c */
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
int sslutil_init ( int isServer ) ;
int sslutil_accept ( int fd ) ;
int sslutil_fd_is_ssl ( int fd ) ;
int sslutil_connect ( int fd ) ;
int sslutil_disconnect ( int fd ) ;
int sslutil_negotiate_ssl ( int fd , int msg_type ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/trans2.c */
1998-05-08 20:49:10 +04:00
1998-07-29 04:27:23 +04:00
void mask_convert ( char * mask ) ;
1998-08-14 21:38:29 +04:00
int reply_findclose ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_findnclose ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_transs2 ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_trans2 ( connection_struct * conn ,
char * inbuf , char * outbuf , int length , int bufsize ) ;
1998-05-08 20:49:10 +04:00
1998-08-09 17:25:34 +04:00
/*The following definitions come from smbd/uid.c */
1998-05-08 20:49:10 +04:00
void init_uid ( void ) ;
BOOL become_guest ( void ) ;
1998-08-14 21:38:29 +04:00
BOOL become_user ( connection_struct * conn , uint16 vuid ) ;
1998-05-08 20:49:10 +04:00
BOOL unbecome_user ( void ) ;
void become_root ( BOOL save_dir ) ;
void unbecome_root ( BOOL restore_dir ) ;
1998-08-09 18:37:32 +04:00
/*The following definitions come from web/cgi.c */
void cgi_load_variables ( FILE * f1 ) ;
char * cgi_variable ( char * name ) ;
void cgi_setup ( char * rootdir , int auth_required ) ;
char * cgi_baseurl ( void ) ;
char * cgi_pathinfo ( void ) ;
char * cgi_remote_host ( void ) ;
char * cgi_remote_addr ( void ) ;
BOOL cgi_waspost ( void ) ;
/*The following definitions come from web/diagnose.c */
BOOL nmbd_running ( void ) ;
BOOL smbd_running ( void ) ;
/*The following definitions come from web/startstop.c */
void start_smbd ( void ) ;
void start_nmbd ( void ) ;
void stop_smbd ( void ) ;
void stop_nmbd ( void ) ;
void kill_pid ( int pid ) ;
/*The following definitions come from web/statuspage.c */
void status_page ( void ) ;
/*The following definitions come from web/swat.c */
1998-06-08 23:38:57 +04:00
# endif /* _PROTO_H_ */