1996-06-29 22:49:20 +04:00
/* This file is automatically generated with "make proto". DO NOT EDIT */
1996-07-01 22:29:21 +04:00
1996-07-04 23:41:16 +04:00
1996-08-24 05:41:46 +04:00
/*The following definitions come from access.c */
1996-07-04 23:41:16 +04:00
1997-09-19 21:12:08 +04:00
BOOL check_access ( int snum ) ;
BOOL allow_access ( char * deny_list , char * allow_list , char * cname , char * caddr ) ;
1997-09-11 06:19:35 +04:00
1997-10-22 15:15:14 +04:00
/*The following definitions come from asyncdns.c */
int asyncdns_fd ( 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 ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from charcnv.c */
1996-06-29 22:49:20 +04:00
char * unix2dos_format ( char * str , BOOL overwrite ) ;
char * dos2unix_format ( char * str , BOOL overwrite ) ;
int interpret_character_set ( char * str , int def ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from charset.c */
nameserv.c: split add_domain_names() into three functions:
add_domain_logon_names() - adds <1c> names on WINS and broadcast.
add_domain_master_wins() - adds <1b> name only with WINS server
add_domain_master_bcast() - adds <1b> names only by bcast.
: made add_domain_names() add <1c> names, unconditionally, and
add <1b> name with the WINS server if using a WINS server, or
add <1b> name by broadcast if _not_ using a WINS server, but
_not_ both.
: removed the direct parameter from remove_name_entry() and
add_my_name_entry().
nameelect.c: made become_domain_master(), on successful registration of
the <1b> name with the WINS server, go ahead and register
the <1b> names by broadcast. if the <1b> name is _not_
successfully registered with the WINS server, the broadcast
registration of <1b> names will _not_ proceed.
namedbsubnet.c: sorted out calls to add_my_name_entry() and remove_my_name()
which no longer has a direct parameter.
this is all added because...
in order to fix a compatibility bug with 1.9.16p2->p11, jeremy had added a
feature that got the <1b> broadcast registered names _directly_ into the nmbd
netbios lists, undefended. the aim was to get round the aggressive netbios
registration of <1b> names of 1.9.16p2->p11.
however, because 1.9.16p2->p11 don't properly _provide_ netlogon services,
it is better that an error message appears in 1.9.17 logs, and that
administrators are made aware of the problems with 1.9.16p2->p11, and replace
1.9.16p2->p11 servers, rather than attempt to run 1.9.16 alonside 1.9.17.
(these warning messages will need to be added...)
in _addition_, they shouldn't _be_ getting two samba servers to provide
domain logon / domain master services for the same workgroup in the same
WINS scope!
lkcl
(This used to be commit 5a668ff7ba83433b5eaa9f7d03a42573ee26caf9)
1997-07-25 00:39:30 +04:00
void charset_initialise ( ) ;
1997-07-19 00:21:32 +04:00
void codepage_initialise ( int client_codepage ) ;
1996-06-29 22:49:20 +04:00
void add_char_string ( char * s ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from chgpasswd.c */
1996-06-29 22:49:20 +04:00
BOOL chat_with_program ( char * passwordprogram , char * name , char * chatsequence ) ;
BOOL chgpasswd ( char * name , char * oldpass , char * newpass ) ;
BOOL chgpasswd ( char * name , char * oldpass , char * newpass ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from client.c */
1997-10-24 17:15:34 +04:00
void cli_smb_close ( char * inbuf , char * outbuf , int clnt_fd , int c_num , int f_num ) ;
1996-06-29 22:49:20 +04:00
void do_dir ( char * inbuf , char * outbuf , char * Mask , int attribute , void ( * fn ) ( ) , BOOL recurse_dir ) ;
void cmd_help ( void ) ;
1996-08-24 05:41:46 +04:00
1997-10-21 13:39:45 +04:00
/*The following definitions come from clientgen.c */
BOOL cli_NetWkstaUserLogon ( struct cli_state * cli , char * user , char * workstation ) ;
1997-10-26 10:32:02 +03:00
BOOL cli_NetServerEnum ( struct cli_state * cli , char * workgroup , uint32 stype ,
void ( * fn ) ( char * , uint32 , char * ) ) ;
1997-10-21 13:39:45 +04:00
BOOL cli_session_setup ( struct cli_state * cli ,
char * user ,
char * pass , int passlen ,
char * ntpass , int ntpasslen ,
char * workgroup ) ;
BOOL cli_send_tconX ( struct cli_state * cli ,
char * share , char * dev , char * pword , int passlen ) ;
BOOL cli_tdis ( struct cli_state * cli ) ;
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 ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from clientutil.c */
1997-10-22 18:28:19 +04:00
void cli_setup_pkt ( char * outbuf ) ;
1997-10-23 17:38:46 +04:00
BOOL cli_call_api ( char * pipe_name , int prcnt , int drcnt , int srcnt ,
1997-10-22 18:28:19 +04:00
int mprcnt , int mdrcnt ,
int * rprcnt , int * rdrcnt ,
1997-10-23 17:38:46 +04:00
char * param , char * data , uint16 * setup ,
1997-10-22 18:28:19 +04:00
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 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 ) ;
void cli_send_logout ( void ) ;
BOOL cli_open_sockets ( int port ) ;
1996-06-29 22:49:20 +04:00
BOOL cli_reopen_connection ( char * inbuf , char * outbuf ) ;
char * smb_errstr ( char * inbuf ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from clitar.c */
1997-02-02 21:12:36 +03:00
int padit ( char * buf , int bufsize , int padsize ) ;
1996-06-29 22:49:20 +04:00
void cmd_block ( void ) ;
void cmd_tarmode ( void ) ;
void cmd_setmode ( void ) ;
void cmd_tar ( char * inbuf , char * outbuf ) ;
int process_tar ( char * inbuf , char * outbuf ) ;
int clipfind ( char * * aret , int ret , char * tok ) ;
int tar_parseargs ( int argc , char * argv [ ] , char * Optarg , int Optind ) ;
1996-08-24 05:41:46 +04:00
1997-10-10 18:48:05 +04:00
/*The following definitions come from credentials.c */
void cred_session_key ( DOM_CHAL * clnt_chal , DOM_CHAL * srv_chal , char * pass ,
1997-10-14 21:01:43 +04:00
uint32 session_key [ 2 ] ) ;
void cred_create ( uint32 session_key [ 2 ] , DOM_CHAL * stor_cred , UTIME timestamp ,
1997-10-10 18:48:05 +04:00
DOM_CHAL * cred ) ;
1997-10-14 21:01:43 +04:00
int cred_assert ( DOM_CHAL * cred , uint32 session_key [ 2 ] , DOM_CHAL * stored_cred ,
1997-10-10 18:48:05 +04:00
UTIME timestamp ) ;
1997-10-26 21:42:47 +03:00
BOOL clnt_deal_with_creds ( uint32 sess_key [ 2 ] ,
DOM_CRED * sto_clnt_cred , DOM_CRED * rcv_srv_cred ) ;
BOOL deal_with_creds ( uint32 sess_key [ 2 ] ,
DOM_CRED * sto_clnt_cred ,
DOM_CRED * rcv_clnt_cred , DOM_CRED * rtn_srv_cred ) ;
1997-10-10 18:48:05 +04:00
1996-08-24 05:41:46 +04:00
/*The following definitions come from dir.c */
1996-06-29 22:49:20 +04:00
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 ) ;
void dptr_closecnum ( int cnum ) ;
void dptr_idlecnum ( int cnum ) ;
void dptr_closepath ( char * path , int pid ) ;
int dptr_create ( int cnum , char * path , BOOL expect_close , int pid ) ;
1997-07-24 21:25:11 +04:00
BOOL dptr_fill ( char * buf1 , unsigned int key ) ;
1996-06-29 22:49:20 +04:00
BOOL dptr_zero ( char * buf ) ;
1997-07-24 21:25:11 +04:00
void * dptr_fetch ( char * buf , int * num ) ;
void * dptr_fetch_lanman2 ( char * params , int dptr_num ) ;
nameserv.c: split add_domain_names() into three functions:
add_domain_logon_names() - adds <1c> names on WINS and broadcast.
add_domain_master_wins() - adds <1b> name only with WINS server
add_domain_master_bcast() - adds <1b> names only by bcast.
: made add_domain_names() add <1c> names, unconditionally, and
add <1b> name with the WINS server if using a WINS server, or
add <1b> name by broadcast if _not_ using a WINS server, but
_not_ both.
: removed the direct parameter from remove_name_entry() and
add_my_name_entry().
nameelect.c: made become_domain_master(), on successful registration of
the <1b> name with the WINS server, go ahead and register
the <1b> names by broadcast. if the <1b> name is _not_
successfully registered with the WINS server, the broadcast
registration of <1b> names will _not_ proceed.
namedbsubnet.c: sorted out calls to add_my_name_entry() and remove_my_name()
which no longer has a direct parameter.
this is all added because...
in order to fix a compatibility bug with 1.9.16p2->p11, jeremy had added a
feature that got the <1b> broadcast registered names _directly_ into the nmbd
netbios lists, undefended. the aim was to get round the aggressive netbios
registration of <1b> names of 1.9.16p2->p11.
however, because 1.9.16p2->p11 don't properly _provide_ netlogon services,
it is better that an error message appears in 1.9.17 logs, and that
administrators are made aware of the problems with 1.9.16p2->p11, and replace
1.9.16p2->p11 servers, rather than attempt to run 1.9.16 alonside 1.9.17.
(these warning messages will need to be added...)
in _addition_, they shouldn't _be_ getting two samba servers to provide
domain logon / domain master services for the same workgroup in the same
WINS scope!
lkcl
(This used to be commit 5a668ff7ba83433b5eaa9f7d03a42573ee26caf9)
1997-07-25 00:39:30 +04:00
BOOL dir_check_ftype ( int cnum , int mode , struct stat * st , int dirtype ) ;
1996-06-29 22:49:20 +04:00
BOOL get_dir_entry ( int cnum , char * mask , int dirtype , char * fname , int * size , int * mode , time_t * date , BOOL check_descend ) ;
1997-07-24 21:25:11 +04:00
void * OpenDir ( int cnum , char * name , BOOL use_veto ) ;
1996-06-29 22:49:20 +04:00
void CloseDir ( void * p ) ;
char * ReadDirName ( void * p ) ;
BOOL SeekDir ( void * p , int pos ) ;
int TellDir ( void * p ) ;
1997-10-18 03:08:07 +04:00
void DirCacheAdd ( char * path , char * name , char * dname , int snum ) ;
char * DirCacheCheck ( char * path , char * name , int snum ) ;
void DirCacheFlush ( int snum ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from fault.c */
1996-06-29 22:49:20 +04:00
void fault_setup ( void ( * fn ) ( ) ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from getsmbpass.c */
1996-06-29 22:49:20 +04:00
char * getsmbpass ( char * prompt ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from interface.c */
1996-06-29 22:49:20 +04:00
void load_interfaces ( void ) ;
void iface_set_default ( char * ip , char * bcast , char * nmask ) ;
BOOL ismyip ( struct in_addr ip ) ;
BOOL ismybcast ( struct in_addr bcast ) ;
1997-10-18 03:08:07 +04:00
BOOL is_local_net ( struct in_addr from ) ;
1996-06-29 22:49:20 +04:00
int iface_count ( void ) ;
struct in_addr * iface_n_ip ( int n ) ;
struct in_addr * iface_bcast ( struct in_addr ip ) ;
struct in_addr * iface_nmask ( struct in_addr ip ) ;
struct in_addr * iface_ip ( struct in_addr ip ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from ipc.c */
1996-06-29 22:49:20 +04:00
int reply_trans ( char * inbuf , char * outbuf ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from kanji.c */
1997-09-14 20:37:18 +04:00
char * sj_strtok ( char * s1 , char * s2 ) ;
char * sj_strstr ( char * s1 , char * s2 ) ;
char * sj_strchr ( char * s , int c ) ;
char * sj_strrchr ( char * s , int c ) ;
1996-06-29 22:49:20 +04:00
int interpret_coding_system ( char * str , int def ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from loadparm.c */
1996-06-29 22:49:20 +04:00
char * lp_string ( char * s ) ;
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_dfree_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_workgroup ( void ) ;
char * lp_domain_controller ( void ) ;
char * lp_username_map ( void ) ;
char * lp_character_set ( void ) ;
char * lp_logon_script ( void ) ;
1997-02-02 21:12:36 +03:00
char * lp_logon_path ( void ) ;
1997-10-20 16:10:58 +04:00
char * lp_logon_drive ( void ) ;
char * lp_logon_home ( void ) ;
1996-08-16 17:03:26 +04:00
char * lp_remote_announce ( void ) ;
1996-06-29 22:49:20 +04:00
char * lp_wins_server ( void ) ;
char * lp_interfaces ( void ) ;
1996-08-19 15:17:29 +04:00
char * lp_socket_address ( void ) ;
1997-05-07 21:56:46 +04:00
char * lp_nis_home_map_name ( void ) ;
1997-08-27 23:27:25 +04:00
char * lp_announce_version ( void ) ;
1997-07-31 22:47:26 +04:00
char * lp_netbios_aliases ( void ) ;
1997-10-22 15:31:37 +04:00
char * lp_domain_sid ( void ) ;
char * lp_domain_other_sids ( void ) ;
1997-10-20 20:25:19 +04:00
char * lp_domain_groups ( void ) ;
1997-10-21 22:25:14 +04:00
char * lp_domain_admin_users ( void ) ;
char * lp_domain_guest_users ( void ) ;
1997-07-06 16:06:23 +04:00
BOOL lp_dns_proxy ( void ) ;
1996-06-29 22:49:20 +04:00
BOOL lp_wins_support ( void ) ;
BOOL lp_wins_proxy ( void ) ;
1997-05-20 04:32:51 +04:00
BOOL lp_local_master ( void ) ;
1996-06-29 22:49:20 +04:00
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_getwdcache ( 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_syslog_only ( void ) ;
BOOL lp_browse_list ( void ) ;
1997-05-07 21:56:46 +04:00
BOOL lp_unix_realname ( void ) ;
BOOL lp_nis_home_map ( void ) ;
1997-06-17 00:49:15 +04:00
BOOL lp_time_server ( void ) ;
1997-10-20 22:52:04 +04:00
BOOL lp_bind_interfaces_only ( void ) ;
1996-06-29 22:49:20 +04:00
int lp_os_level ( void ) ;
int lp_max_ttl ( void ) ;
int lp_max_log_size ( void ) ;
int lp_mangledstack ( void ) ;
int lp_maxxmit ( void ) ;
int lp_maxmux ( void ) ;
int lp_maxpacket ( void ) ;
int lp_keepalive ( void ) ;
int lp_passwordlevel ( void ) ;
1997-09-19 21:12:08 +04:00
int lp_usernamelevel ( void ) ;
1996-06-29 22:49:20 +04:00
int lp_readsize ( void ) ;
1997-05-20 04:32:51 +04:00
int lp_shmem_size ( void ) ;
int lp_shmem_hash_size ( void ) ;
1996-06-29 22:49:20 +04:00
int lp_deadtime ( void ) ;
int lp_maxprotocol ( void ) ;
int lp_security ( void ) ;
int lp_printing ( void ) ;
int lp_maxdisksize ( void ) ;
int lp_lpqcachetime ( void ) ;
int lp_syslog ( void ) ;
1997-06-11 05:03:06 +04:00
int lp_client_code_page ( void ) ;
1997-08-27 23:27:25 +04:00
int lp_announce_as ( void ) ;
1996-06-29 22:49:20 +04:00
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 ) ;
char * lp_printername ( int ) ;
1996-08-13 12:57:55 +04:00
char * lp_printerdriver ( int ) ;
1996-06-29 22:49:20 +04:00
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 ) ;
char * lp_volume ( int ) ;
char * lp_mangled_map ( int ) ;
1997-07-06 17:48:10 +04:00
char * lp_veto_files ( int ) ;
char * lp_hide_files ( int ) ;
1996-06-29 22:49:20 +04:00
BOOL lp_alternate_permissions ( 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 ) ;
1997-10-02 07:14:32 +04:00
BOOL lp_oplocks ( int ) ;
1996-06-29 22:49:20 +04:00
BOOL lp_onlyuser ( int ) ;
BOOL lp_manglednames ( int ) ;
BOOL lp_widelinks ( int ) ;
1997-07-19 00:21:32 +04:00
BOOL lp_symlinks ( int ) ;
1996-06-29 22:49:20 +04:00
BOOL lp_syncalways ( int ) ;
BOOL lp_map_system ( int ) ;
BOOL lp_delete_readonly ( int ) ;
1996-10-05 14:41:13 +04:00
BOOL lp_fake_oplocks ( int ) ;
1997-09-17 05:29:53 +04:00
BOOL lp_recursive_veto_delete ( int ) ;
1997-10-20 22:52:04 +04:00
BOOL lp_dos_filetimes ( int ) ;
1996-06-29 22:49:20 +04:00
int lp_create_mode ( int ) ;
1997-06-19 04:18:23 +04:00
int lp_force_create_mode ( int ) ;
1997-02-23 08:18:09 +03:00
int lp_dir_mode ( int ) ;
1997-06-19 04:18:23 +04:00
int lp_force_dir_mode ( int ) ;
1996-06-29 22:49:20 +04:00
int lp_max_connections ( int ) ;
int lp_defaultcase ( int ) ;
int lp_minprintspace ( 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 ) ;
1997-09-11 06:19:35 +04:00
BOOL lp_do_parameter ( int snum , char * pszParmName , char * pszParmValue ) ;
int lp_next_parameter ( int snum , int * i , char * label ,
char * value , int allparameters ) ;
1996-06-29 22:49:20 +04:00
BOOL lp_snum_ok ( int iService ) ;
BOOL lp_loaded ( void ) ;
void lp_killunused ( BOOL ( * snumused ) ( int ) ) ;
BOOL lp_load ( char * pszFname , BOOL global_only ) ;
int lp_numservices ( void ) ;
1997-09-11 06:19:35 +04:00
void lp_dump ( FILE * f ) ;
1996-06-29 22:49:20 +04:00
int lp_servicenumber ( char * pszServiceName ) ;
1997-08-27 23:27:25 +04:00
char * volume_label ( int snum ) ;
1997-09-11 06:19:35 +04:00
void lp_rename_service ( int snum , char * new_name ) ;
void lp_remove_service ( int snum ) ;
void lp_copy_service ( int snum , char * new_name ) ;
1997-07-30 23:17:51 +04:00
int lp_default_server_announce ( void ) ;
int lp_major_announce_version ( void ) ;
int lp_minor_announce_version ( void ) ;
1997-09-19 21:12:08 +04:00
/*The following definitions come from locking.c */
BOOL is_locked ( int fnum , int cnum , uint32 count , uint32 offset ) ;
BOOL do_lock ( int fnum , int cnum , uint32 count , uint32 offset , int * eclass , uint32 * ecode ) ;
BOOL do_unlock ( int fnum , int cnum , uint32 count , uint32 offset , int * eclass , uint32 * ecode ) ;
1997-10-27 17:27:17 +03:00
BOOL locking_init ( int read_only ) ;
1997-10-20 12:46:00 +04:00
BOOL locking_end ( void ) ;
BOOL lock_share_entry ( int cnum , uint32 dev , uint32 inode , int * ptok ) ;
BOOL unlock_share_entry ( int cnum , uint32 dev , uint32 inode , int token ) ;
int get_share_modes ( int cnum , int token , uint32 dev , uint32 inode ,
share_mode_entry * * shares ) ;
void del_share_mode ( int token , int fnum ) ;
BOOL set_share_mode ( int token , int fnum , uint16 port , uint16 op_type ) ;
BOOL remove_share_oplock ( int fnum , int token ) ;
int share_mode_forall ( void ( * fn ) ( share_mode_entry * , char * ) ) ;
void share_status ( FILE * f ) ;
/*The following definitions come from locking_shm.c */
1997-10-27 17:27:17 +03:00
struct share_ops * locking_shm_init ( int ronly ) ;
1997-10-20 12:46:00 +04:00
/*The following definitions come from locking_slow.c */
1997-10-27 17:27:17 +03:00
struct share_ops * locking_slow_init ( int ronly ) ;
1997-09-19 21:12:08 +04:00
1997-10-05 18:17:53 +04:00
/*The following definitions come from lsaparse.c */
1997-10-27 18:09:23 +03:00
void make_q_open_pol ( LSA_Q_OPEN_POL * r_q , char * server_name ,
uint32 attributes , uint32 sec_qos ,
uint16 desired_access ) ;
char * lsa_io_q_open_pol ( BOOL io , LSA_Q_OPEN_POL * r_q , char * q , char * base , int align , int depth ) ;
1997-10-12 15:46:42 +04:00
char * lsa_io_r_open_pol ( BOOL io , LSA_R_OPEN_POL * r_p , char * q , char * base , int align , int depth ) ;
1997-10-27 20:04:15 +03:00
void make_q_query ( LSA_Q_QUERY_INFO * q_q , LSA_POL_HND * hnd , uint16 info_class ) ;
1997-10-12 15:46:42 +04:00
char * lsa_io_q_query ( BOOL io , LSA_Q_QUERY_INFO * q_q , char * q , char * base , int align , int depth ) ;
1997-10-27 22:00:38 +03:00
void make_q_close ( LSA_Q_CLOSE * q_c , LSA_POL_HND * hnd ) ;
char * lsa_io_q_close ( BOOL io , LSA_Q_CLOSE * q_c , char * q , char * base , int align , int depth ) ;
void make_r_close ( LSA_R_CLOSE * q_r , LSA_POL_HND * hnd ) ;
char * lsa_io_r_close ( BOOL io , LSA_R_CLOSE * r_c , char * q , char * base , int align , int depth ) ;
1997-10-12 15:46:42 +04:00
char * lsa_io_r_query ( BOOL io , LSA_R_QUERY_INFO * r_q , char * q , char * base , int align , int depth ) ;
char * lsa_io_q_lookup_sids ( BOOL io , LSA_Q_LOOKUP_SIDS * q_s , char * q , char * base , int align , int depth ) ;
char * lsa_io_r_lookup_sids ( BOOL io , LSA_R_LOOKUP_SIDS * r_s , char * q , char * base , int align , int depth ) ;
char * lsa_io_q_lookup_rids ( BOOL io , LSA_Q_LOOKUP_RIDS * q_r , char * q , char * base , int align , int depth ) ;
char * lsa_io_r_lookup_rids ( BOOL io , LSA_R_LOOKUP_RIDS * r_r , char * q , char * base , int align , int depth ) ;
1997-10-22 21:51:02 +04:00
void make_q_req_chal ( LSA_Q_REQ_CHAL * q_c ,
char * logon_srv , char * logon_clnt ,
DOM_CHAL * clnt_chal ) ;
1997-10-12 15:46:42 +04:00
char * lsa_io_q_req_chal ( BOOL io , LSA_Q_REQ_CHAL * q_c , char * q , char * base , int align , int depth ) ;
char * lsa_io_r_req_chal ( BOOL io , LSA_R_REQ_CHAL * r_c , char * q , char * base , int align , int depth ) ;
1997-10-25 14:58:18 +04:00
void make_q_auth_2 ( LSA_Q_AUTH_2 * q_a ,
char * logon_srv , char * acct_name , uint16 sec_chan , char * comp_name ,
DOM_CHAL * clnt_chal , uint32 clnt_flgs ) ;
1997-10-12 15:46:42 +04:00
char * lsa_io_q_auth_2 ( BOOL io , LSA_Q_AUTH_2 * q_a , char * q , char * base , int align , int depth ) ;
char * lsa_io_r_auth_2 ( BOOL io , LSA_R_AUTH_2 * r_a , char * q , char * base , int align , int depth ) ;
char * lsa_io_q_srv_pwset ( BOOL io , LSA_Q_SRV_PWSET * q_s , char * q , char * base , int align , int depth ) ;
char * lsa_io_r_srv_pwset ( BOOL io , LSA_R_SRV_PWSET * r_s , char * q , char * base , int align , int depth ) ;
char * lsa_io_user_info ( BOOL io , LSA_USER_INFO * usr , char * q , char * base , int align , int depth ) ;
char * lsa_io_q_sam_logon ( BOOL io , LSA_Q_SAM_LOGON * q_l , char * q , char * base , int align , int depth ) ;
char * lsa_io_r_sam_logon ( BOOL io , LSA_R_SAM_LOGON * r_l , char * q , char * base , int align , int depth ) ;
char * lsa_io_q_sam_logoff ( BOOL io , LSA_Q_SAM_LOGOFF * q_l , char * q , char * base , int align , int depth ) ;
char * lsa_io_r_sam_logoff ( BOOL io , LSA_R_SAM_LOGOFF * r_l , char * q , char * base , int align , int depth ) ;
1997-10-05 18:17:53 +04:00
1997-09-19 21:12:08 +04:00
/*The following definitions come from mangle.c */
int str_checksum ( char * s ) ;
BOOL is_8_3 ( char * fname , BOOL check_case ) ;
void create_mangled_stack ( int size ) ;
BOOL check_mangled_stack ( char * s ) ;
BOOL is_mangled ( char * s ) ;
void mangle_name_83 ( char * s ) ;
BOOL name_map_mangle ( char * OutName , BOOL need83 , int snum ) ;
/*The following definitions come from md4.c */
void mdfour ( unsigned char * out , unsigned char * in , int n ) ;
/*The following definitions come from message.c */
int reply_sends ( char * inbuf , char * outbuf ) ;
int reply_sendstrt ( char * inbuf , char * outbuf ) ;
int reply_sendtxt ( char * inbuf , char * outbuf ) ;
int reply_sendend ( char * inbuf , char * outbuf ) ;
/*The following definitions come from nameannounce.c */
void announce_request ( struct work_record * work , struct in_addr ip ) ;
void do_announce_request ( char * info , char * to_name , int announce_type ,
int from ,
int to , struct in_addr dest_ip ) ;
void sync_server ( enum state_type state , char * serv_name , char * work_name ,
int name_type ,
struct subnet_record * d ,
struct in_addr ip ) ;
void announce_my_servers_removed ( void ) ;
void announce_server ( struct subnet_record * d , struct work_record * work ,
char * name , char * comment , time_t ttl , int server_type ) ;
void announce_host ( time_t t ) ;
void reset_announce_timer ( ) ;
void announce_master ( time_t t ) ;
void announce_remote ( time_t t ) ;
/*The following definitions come from namebrowse.c */
void expire_browse_cache ( time_t t ) ;
struct browse_cache_record * add_browser_entry ( char * name , int type , char * wg ,
time_t ttl , struct subnet_record * d ,
struct in_addr ip , BOOL local ) ;
void do_browser_lists ( time_t t ) ;
/*The following definitions come from namedbname.c */
void set_samba_nb_type ( void ) ;
BOOL name_equal ( struct nmb_name * n1 , struct nmb_name * n2 ) ;
BOOL ms_browser_name ( char * name , int type ) ;
void remove_name ( struct subnet_record * d , struct name_record * n ) ;
1997-10-24 02:30:57 +04:00
struct name_record * find_name_on_subnet ( struct subnet_record * d ,
struct nmb_name * name , BOOL self_only ) ;
1997-09-19 21:12:08 +04:00
void dump_names ( void ) ;
void load_netbios_names ( void ) ;
void remove_netbios_name ( struct subnet_record * d ,
1997-10-24 02:30:57 +04:00
char * name , int type , enum name_source source ) ;
1997-09-19 21:12:08 +04:00
struct name_record * add_netbios_entry ( struct subnet_record * d ,
1997-10-24 02:30:57 +04:00
char * name , int type , int nb_flags , int ttl ,
enum name_source source , struct in_addr ip , BOOL new_only ) ;
1997-09-19 21:12:08 +04:00
void expire_names ( time_t t ) ;
/*The following definitions come from namedbresp.c */
void add_response_record ( struct subnet_record * d ,
struct response_record * n ) ;
void remove_response_record ( struct subnet_record * d ,
struct response_record * n ) ;
struct response_record * make_response_queue_record ( enum state_type state ,
int id , uint16 fd ,
int quest_type , char * name , int type , int nb_flags , time_t ttl ,
int server_type , char * my_name , char * my_comment ,
BOOL bcast , BOOL recurse ,
1997-10-15 13:18:39 +04:00
struct in_addr send_ip , struct in_addr reply_to_ip ,
int reply_id ) ;
1997-09-19 21:12:08 +04:00
struct response_record * find_response_record ( struct subnet_record * * d ,
uint16 id ) ;
/*The following definitions come from namedbserver.c */
void remove_old_servers ( struct work_record * work , time_t t ,
BOOL remove_all ) ;
struct server_record * find_server ( struct work_record * work , char * name ) ;
struct server_record * add_server_entry ( struct subnet_record * d ,
struct work_record * work ,
char * name , int servertype ,
int ttl , char * comment ,
BOOL replace ) ;
void expire_servers ( time_t t ) ;
/*The following definitions come from namedbsubnet.c */
1997-10-24 02:30:57 +04:00
struct subnet_record * find_subnet ( struct in_addr ip ) ;
struct subnet_record * find_subnet_all ( struct in_addr ip ) ;
1997-09-19 21:12:08 +04:00
void add_workgroup_to_subnet ( struct subnet_record * d , char * group ) ;
void add_my_subnets ( char * group ) ;
void write_browse_list ( time_t t ) ;
/*The following definitions come from namedbwork.c */
struct work_record * remove_workgroup ( struct subnet_record * d ,
struct work_record * work ,
BOOL remove_all_servers ) ;
struct work_record * find_workgroupstruct ( struct subnet_record * d ,
fstring name , BOOL add ) ;
void dump_workgroups ( void ) ;
/*The following definitions come from nameelect.c */
void check_master_browser ( time_t t ) ;
void browser_gone ( char * work_name , struct in_addr ip ) ;
void send_election ( struct subnet_record * d , char * group , uint32 criterion ,
int timeup , char * name ) ;
void name_unregister_work ( struct subnet_record * d , char * name , int name_type ) ;
void name_register_work ( struct subnet_record * d , char * name , int name_type ,
int nb_flags , time_t ttl , struct in_addr ip , BOOL bcast ) ;
void become_local_master ( struct subnet_record * d , struct work_record * work ) ;
void become_domain_master ( struct subnet_record * d , struct work_record * work ) ;
void become_logon_server ( struct subnet_record * d , struct work_record * work ) ;
void unbecome_local_master ( struct subnet_record * d , struct work_record * work ,
int remove_type ) ;
void unbecome_domain_master ( struct subnet_record * d , struct work_record * work ,
int remove_type ) ;
void unbecome_logon_server ( struct subnet_record * d , struct work_record * work ,
int remove_type ) ;
void run_elections ( time_t t ) ;
void process_election ( struct packet_struct * p , char * buf ) ;
BOOL check_elections ( void ) ;
/*The following definitions come from namelogon.c */
void process_logon_packet ( struct packet_struct * p , char * buf , int len ) ;
/*The following definitions come from namepacket.c */
void debug_browse_data ( char * outbuf , int len ) ;
void initiate_netbios_packet ( uint16 * id ,
int fd , int quest_type , char * name , int name_type ,
int nb_flags , BOOL bcast , BOOL recurse ,
struct in_addr to_ip ) ;
void reply_netbios_packet ( struct packet_struct * p1 , int trn_id ,
int rcode , int rcv_code , int opcode ,
BOOL recursion_available ,
BOOL recursion_desired ,
struct nmb_name * rr_name , int rr_type , int rr_class , int ttl ,
char * data , int len ) ;
void queue_packet ( struct packet_struct * packet ) ;
void run_packet_queue ( ) ;
1997-10-18 03:08:07 +04:00
BOOL listen_for_packets ( BOOL run_election ) ;
1997-09-19 21:12:08 +04:00
BOOL send_mailslot_reply ( BOOL unique , char * mailslot , int fd , char * buf , int len , char * srcname ,
char * dstname , int src_type , int dest_type ,
1996-10-02 19:41:30 +04:00
struct in_addr dest_ip , struct in_addr src_ip ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from namequery.c */
1996-06-29 22:49:20 +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 ) ( ) ) ;
BOOL name_query ( int fd , char * name , int name_type ,
BOOL bcast , BOOL recurse ,
struct in_addr to_ip , struct in_addr * ip , void ( * fn ) ( ) ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from nameresp.c */
1996-10-07 05:56:21 +04:00
void expire_netbios_response_entries ( time_t t ) ;
1997-05-08 05:14:17 +04:00
struct response_record * queue_netbios_pkt_wins (
1996-10-02 19:41:30 +04:00
int fd , int quest_type , enum state_type state ,
char * name , int name_type , int nb_flags , time_t ttl ,
int server_type , char * my_name , char * my_comment ,
struct in_addr send_ip , struct in_addr reply_to_ip ) ;
struct response_record * queue_netbios_packet ( struct subnet_record * d ,
int fd , int quest_type , enum state_type state , char * name ,
int name_type , int nb_flags , time_t ttl ,
int server_type , char * my_name , char * my_comment ,
1997-05-07 21:56:46 +04:00
BOOL bcast , BOOL recurse ,
1997-10-15 13:18:39 +04:00
struct in_addr send_ip , struct in_addr reply_to_ip ,
int reply_id ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from nameserv.c */
nameserv.c: split add_domain_names() into three functions:
add_domain_logon_names() - adds <1c> names on WINS and broadcast.
add_domain_master_wins() - adds <1b> name only with WINS server
add_domain_master_bcast() - adds <1b> names only by bcast.
: made add_domain_names() add <1c> names, unconditionally, and
add <1b> name with the WINS server if using a WINS server, or
add <1b> name by broadcast if _not_ using a WINS server, but
_not_ both.
: removed the direct parameter from remove_name_entry() and
add_my_name_entry().
nameelect.c: made become_domain_master(), on successful registration of
the <1b> name with the WINS server, go ahead and register
the <1b> names by broadcast. if the <1b> name is _not_
successfully registered with the WINS server, the broadcast
registration of <1b> names will _not_ proceed.
namedbsubnet.c: sorted out calls to add_my_name_entry() and remove_my_name()
which no longer has a direct parameter.
this is all added because...
in order to fix a compatibility bug with 1.9.16p2->p11, jeremy had added a
feature that got the <1b> broadcast registered names _directly_ into the nmbd
netbios lists, undefended. the aim was to get round the aggressive netbios
registration of <1b> names of 1.9.16p2->p11.
however, because 1.9.16p2->p11 don't properly _provide_ netlogon services,
it is better that an error message appears in 1.9.17 logs, and that
administrators are made aware of the problems with 1.9.16p2->p11, and replace
1.9.16p2->p11 servers, rather than attempt to run 1.9.16 alonside 1.9.17.
(these warning messages will need to be added...)
in _addition_, they shouldn't _be_ getting two samba servers to provide
domain logon / domain master services for the same workgroup in the same
WINS scope!
lkcl
(This used to be commit 5a668ff7ba83433b5eaa9f7d03a42573ee26caf9)
1997-07-25 00:39:30 +04:00
void remove_name_entry ( struct subnet_record * d , char * name , int type ) ;
void add_my_name_entry ( struct subnet_record * d , char * name , int type , int nb_flags ) ;
void add_domain_logon_names ( void ) ;
void add_domain_master_bcast ( void ) ;
void add_domain_master_wins ( void ) ;
1997-03-09 17:58:22 +03:00
void add_domain_names ( time_t t ) ;
1996-06-29 22:49:20 +04:00
void add_my_names ( void ) ;
1996-07-01 22:29:21 +04:00
void remove_my_names ( ) ;
1996-10-02 19:41:30 +04:00
void refresh_my_names ( time_t t ) ;
1996-10-07 05:56:21 +04:00
void query_refresh_names ( time_t t ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from nameservreply.c */
1996-07-17 22:33:36 +04:00
void add_name_respond ( struct subnet_record * d , int fd , struct in_addr from_ip ,
uint16 response_id ,
1996-07-10 22:48:49 +04:00
struct nmb_name * name ,
int nb_flags , int ttl , struct in_addr register_ip ,
BOOL new_owner , struct in_addr reply_to_ip ) ;
void reply_name_release ( struct packet_struct * p ) ;
1996-06-29 22:49:20 +04:00
void reply_name_reg ( struct packet_struct * p ) ;
void reply_name_status ( struct packet_struct * p ) ;
void reply_name_query ( struct packet_struct * p ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from nameservresp.c */
1996-07-17 22:33:36 +04:00
void debug_state_type ( int state ) ;
1996-07-07 17:29:56 +04:00
void response_netbios_packet ( struct packet_struct * p ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from namework.c */
1996-10-02 19:41:30 +04:00
void reset_server ( char * name , int state , struct in_addr ip ) ;
1996-06-29 22:49:20 +04:00
void tell_become_backup ( void ) ;
BOOL same_context ( struct dgram_packet * dgram ) ;
void process_browse_packet ( struct packet_struct * p , char * buf , int len ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from nmbd.c */
1996-06-29 22:49:20 +04:00
BOOL reload_services ( BOOL test ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from nmblib.c */
1997-09-14 20:37:18 +04:00
char * lookup_opcode_name ( int opcode ) ;
1996-06-29 22:49:20 +04:00
void debug_nmb_packet ( struct packet_struct * p ) ;
char * namestr ( struct nmb_name * n ) ;
void free_nmb_packet ( struct nmb_packet * nmb ) ;
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 send_packet ( struct packet_struct * p ) ;
struct packet_struct * receive_packet ( int fd , enum packet_type type , int t ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from nmblookup.c */
1996-06-29 22:49:20 +04:00
int main ( int argc , char * argv [ ] ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from nmbsync.c */
1996-06-29 22:49:20 +04:00
void sync_browse_lists ( struct subnet_record * d , struct work_record * work ,
1997-10-26 10:32:02 +03:00
char * name , int nm_type , struct in_addr ip , BOOL local ) ;
1996-08-24 05:41:46 +04:00
1997-10-24 17:15:34 +04:00
/*The following definitions come from ntclient.c */
1997-10-25 14:58:18 +04:00
BOOL do_nt_login ( char * desthost , char * myhostname ,
1997-10-24 17:15:34 +04:00
int Client , int cnum ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from params.c */
1997-10-04 20:51:43 +04:00
BOOL pm_process ( char * FileName ,
BOOL ( * sfunc ) ( char * ) ,
BOOL ( * pfunc ) ( char * , char * ) ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from password.c */
1996-06-29 22:49:20 +04:00
void generate_next_challenge ( char * challenge ) ;
BOOL set_challenge ( char * challenge ) ;
BOOL last_challenge ( char * challenge ) ;
1996-10-26 00:20:17 +04:00
user_struct * get_valid_user_struct ( uint16 vuid ) ;
void invalidate_vuid ( uint16 vuid ) ;
char * validated_username ( uint16 vuid ) ;
uint16 register_vuid ( int uid , int gid , char * name , BOOL guest ) ;
1996-06-29 22:49:20 +04:00
void add_session_user ( char * user ) ;
void dfs_unlogin ( void ) ;
BOOL password_check ( char * password ) ;
BOOL smb_password_check ( char * password , unsigned char * part_passwd , unsigned char * c8 ) ;
1996-10-02 18:09:22 +04:00
BOOL password_ok ( char * user , char * password , int pwlen , struct passwd * pwd ) ;
1996-06-29 22:49:20 +04:00
BOOL user_ok ( char * user , int snum ) ;
BOOL authorise_login ( int snum , char * user , char * password , int pwlen ,
1996-10-26 00:20:17 +04:00
BOOL * guest , BOOL * force , uint16 vuid ) ;
1996-06-29 22:49:20 +04:00
BOOL check_hosts_equiv ( char * user ) ;
1997-10-21 13:39:45 +04:00
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 ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from pcap.c */
1996-06-29 22:49:20 +04:00
BOOL pcap_printername_ok ( char * pszPrintername , char * pszPrintcapname ) ;
void pcap_printer_fn ( void ( * fn ) ( ) ) ;
1996-08-24 05:41:46 +04:00
1997-10-13 19:55:54 +04:00
/*The following definitions come from pipenetlog.c */
1996-08-24 05:41:46 +04:00
1997-10-25 14:58:18 +04:00
BOOL get_md4pw ( char * md4pw , char * mach_acct ) ;
1997-10-13 19:55:54 +04:00
BOOL api_netlogrpcTNP ( int cnum , int uid , char * param , char * data ,
1996-08-15 19:11:34 +04:00
int mdrcnt , int mprcnt ,
char * * rdata , char * * rparam ,
int * rdata_len , int * rparam_len ) ;
1997-10-13 19:55:54 +04:00
/*The following definitions come from pipentlsa.c */
BOOL api_ntLsarpcTNP ( int cnum , int uid , char * param , char * data ,
1996-08-15 19:11:34 +04:00
int mdrcnt , int mprcnt ,
char * * rdata , char * * rparam ,
int * rdata_len , int * rparam_len ) ;
1997-10-13 19:55:54 +04:00
/*The following definitions come from pipes.c */
int reply_open_pipe_and_X ( char * inbuf , char * outbuf , int length , int bufsize ) ;
BOOL api_LsarpcSNPHS ( int cnum , int uid , char * param , char * data ,
1997-10-09 20:14:53 +04:00
int mdrcnt , int mprcnt ,
char * * rdata , char * * rparam ,
int * rdata_len , int * rparam_len ) ;
1997-10-13 19:55:54 +04:00
void LsarpcTNP1 ( char * data , char * * rdata , int * rdata_len ) ;
BOOL api_LsarpcTNP ( int cnum , int uid , char * param , char * data ,
1997-10-10 23:49:17 +04:00
int mdrcnt , int mprcnt ,
char * * rdata , char * * rparam ,
int * rdata_len , int * rparam_len ) ;
1997-10-19 19:33:25 +04:00
/*The following definitions come from pipesrvsvc.c */
1997-10-15 20:51:03 +04:00
BOOL api_srvsvcTNP ( int cnum , int uid , char * param , char * data ,
int mdrcnt , int mprcnt ,
char * * rdata , char * * rparam ,
int * rdata_len , int * rparam_len ) ;
1996-08-24 05:41:46 +04:00
1997-10-13 19:55:54 +04:00
/*The following definitions come from pipeutil.c */
void initrpcreply ( char * inbuf , char * q ) ;
void endrpcreply ( char * inbuf , char * q , int datalen , int rtnval , int * rlen ) ;
1997-10-22 15:31:37 +04:00
BOOL name_to_rid ( char * user_name , uint32 * u_rid , uint32 * g_rid ) ;
1997-10-13 19:55:54 +04:00
char * dom_sid_to_string ( DOM_SID * sid ) ;
1997-10-22 15:31:37 +04:00
int make_dom_sids ( char * sids_str , DOM_SID * sids , int max_sids ) ;
int make_dom_gids ( char * gids_str , DOM_GID * gids ) ;
1997-10-23 20:17:07 +04:00
int create_rpc_request ( uint32 call_id , uint8 op_num , char * q , int data_len ) ;
1997-10-22 21:51:02 +04:00
int create_rpc_reply ( uint32 call_id , char * q , int data_len ) ;
1997-10-13 19:55:54 +04:00
1996-08-24 05:41:46 +04:00
/*The following definitions come from predict.c */
1996-06-29 22:49:20 +04:00
int read_predict ( int fd , int offset , char * buf , char * * ptr , int num ) ;
void do_read_prediction ( ) ;
void invalidate_read_prediction ( int fd ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from printing.c */
1996-06-29 22:49:20 +04:00
void lpq_reset ( int snum ) ;
void print_file ( int fnum ) ;
int get_printqueue ( int snum , int cnum , print_queue_struct * * queue ,
print_status_struct * status ) ;
void del_printqueue ( int cnum , int snum , int jobid ) ;
void status_printjob ( int cnum , int snum , int jobid , int status ) ;
1997-09-01 22:34:00 +04:00
int printjob_encode ( int snum , int job ) ;
void printjob_decode ( int jobid , int * snum , int * job ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from quotas.c */
1996-07-01 22:29:21 +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 ) ;
1996-06-29 22:49:20 +04:00
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
1997-08-27 23:27:25 +04:00
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
1997-10-09 18:40:46 +04:00
BOOL disk_quotas ( char * path , int * bsize , int * dfree , int * dsize ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from replace.c */
1996-06-29 22:49:20 +04:00
char * Strstr ( char * s , char * p ) ;
time_t Mktime ( struct tm * t ) ;
int InNetGr ( char * group , char * host , char * user , char * dom ) ;
void * malloc_wrapped ( int size , char * file , int line ) ;
void * realloc_wrapped ( void * ptr , int size , char * file , int line ) ;
void free_wrapped ( void * ptr , char * file , int line ) ;
void * memcpy_wrapped ( void * d , void * s , int l , char * fname , int line ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from reply.c */
1996-06-29 22:49:20 +04:00
int reply_special ( char * inbuf , char * outbuf ) ;
int reply_tcon ( char * inbuf , char * outbuf ) ;
int reply_tcon_and_X ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_unknown ( char * inbuf , char * outbuf ) ;
int reply_ioctl ( char * inbuf , char * outbuf ) ;
int reply_sesssetup_and_X ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_chkpth ( char * inbuf , char * outbuf ) ;
int reply_getatr ( char * inbuf , char * outbuf ) ;
int reply_setatr ( char * inbuf , char * outbuf ) ;
int reply_dskattr ( char * inbuf , char * outbuf ) ;
int reply_search ( char * inbuf , char * outbuf ) ;
int reply_fclose ( char * inbuf , char * outbuf ) ;
int reply_open ( char * inbuf , char * outbuf ) ;
int reply_open_and_X ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_ulogoffX ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_mknew ( char * inbuf , char * outbuf ) ;
int reply_ctemp ( char * inbuf , char * outbuf ) ;
int reply_unlink ( char * inbuf , char * outbuf ) ;
int reply_readbraw ( char * inbuf , char * outbuf ) ;
int reply_lockread ( char * inbuf , char * outbuf ) ;
int reply_read ( char * inbuf , char * outbuf ) ;
int reply_read_and_X ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_writebraw ( char * inbuf , char * outbuf ) ;
int reply_writeunlock ( char * inbuf , char * outbuf ) ;
int reply_write ( char * inbuf , char * outbuf , int dum1 , int dum2 ) ;
int reply_write_and_X ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_lseek ( char * inbuf , char * outbuf ) ;
int reply_flush ( char * inbuf , char * outbuf ) ;
int reply_exit ( char * inbuf , char * outbuf ) ;
int reply_close ( char * inbuf , char * outbuf ) ;
int reply_writeclose ( char * inbuf , char * outbuf ) ;
int reply_lock ( char * inbuf , char * outbuf ) ;
int reply_unlock ( char * inbuf , char * outbuf ) ;
int reply_tdis ( char * inbuf , char * outbuf ) ;
int reply_echo ( char * inbuf , char * outbuf ) ;
int reply_printopen ( char * inbuf , char * outbuf ) ;
int reply_printclose ( char * inbuf , char * outbuf ) ;
int reply_printqueue ( char * inbuf , char * outbuf ) ;
int reply_printwrite ( char * inbuf , char * outbuf ) ;
int reply_mkdir ( char * inbuf , char * outbuf ) ;
int reply_rmdir ( char * inbuf , char * outbuf ) ;
int reply_mv ( char * inbuf , char * outbuf ) ;
int reply_copy ( char * inbuf , char * outbuf ) ;
int reply_setdir ( char * inbuf , char * outbuf ) ;
int reply_lockingX ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_readbmpx ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_writebmpx ( char * inbuf , char * outbuf ) ;
int reply_writebs ( char * inbuf , char * outbuf ) ;
int reply_setattrE ( char * inbuf , char * outbuf ) ;
int reply_getattrE ( char * inbuf , char * outbuf ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from server.c */
1997-02-02 21:12:36 +03:00
void * dflt_sig ( void ) ;
void killkids ( void ) ;
1996-06-29 22:49:20 +04:00
mode_t unix_mode ( int cnum , int dosmode ) ;
int dos_mode ( int cnum , char * path , struct stat * sbuf ) ;
int dos_chmod ( int cnum , char * fname , int dosmode , struct stat * st ) ;
1997-10-20 22:52:04 +04:00
int file_utime ( int cnum , char * fname , struct utimbuf * times ) ;
BOOL set_filetime ( int cnum , char * fname , time_t mtime ) ;
1997-08-21 00:32:23 +04:00
BOOL unix_convert ( char * name , int cnum , pstring saved_last_component , BOOL * bad_path ) ;
1996-06-29 22:49:20 +04:00
int disk_free ( char * path , int * bsize , int * dfree , int * dsize ) ;
int sys_disk_free ( char * path , int * bsize , int * dfree , int * dsize ) ;
BOOL check_name ( char * name , int cnum ) ;
void sync_file ( int fnum ) ;
1997-10-16 01:53:59 +04:00
void close_file ( int fnum , BOOL normal_close ) ;
1996-06-29 22:49:20 +04:00
BOOL check_file_sharing ( int cnum , char * fname ) ;
1997-10-20 12:46:00 +04:00
int check_share_mode ( share_mode_entry * share , int deny_mode , char * fname ,
1997-09-26 23:26:56 +04:00
BOOL fcbopen , int * flags ) ;
1996-06-29 22:49:20 +04:00
void open_file_shared ( int fnum , int cnum , char * fname , int share_mode , int ofun ,
1997-09-26 23:26:56 +04:00
int mode , int oplock_request , int * Access , int * action ) ;
1997-08-19 23:22:26 +04:00
int seek_file ( int fnum , uint32 pos ) ;
int read_file ( int fnum , char * data , uint32 pos , int n ) ;
1996-06-29 22:49:20 +04:00
int write_file ( int fnum , char * data , int n ) ;
BOOL become_service ( int cnum , BOOL do_chdir ) ;
int find_service ( char * service ) ;
int cached_error_packet ( char * inbuf , char * outbuf , int fnum , 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 ) ;
1997-10-03 07:15:24 +04:00
BOOL oplock_break ( uint32 dev , uint32 inode , struct timeval * tval ) ;
1997-10-20 12:46:00 +04:00
BOOL request_oplock_break ( share_mode_entry * share_entry ,
1997-09-30 06:38:19 +04:00
uint32 dev , uint32 inode ) ;
1996-06-29 22:49:20 +04:00
BOOL snum_used ( int snum ) ;
BOOL reload_services ( BOOL test ) ;
int setup_groups ( char * user , int uid , int gid , int * p_ngroups ,
1997-10-10 18:48:05 +04:00
int * * p_igroups , gid_t * * p_groups ,
int * * p_attrs ) ;
1996-10-26 00:20:17 +04:00
int make_connection ( char * service , char * user , char * password , int pwlen , char * dev , uint16 vuid ) ;
1996-06-29 22:49:20 +04:00
int find_free_file ( void ) ;
int reply_corep ( char * outbuf ) ;
int reply_coreplus ( char * outbuf ) ;
int reply_lanman1 ( char * outbuf ) ;
int reply_lanman2 ( char * outbuf ) ;
int reply_nt1 ( char * outbuf ) ;
1996-10-26 00:20:17 +04:00
void close_cnum ( int cnum , uint16 vuid ) ;
1996-06-29 22:49:20 +04:00
BOOL yield_connection ( int cnum , char * name , int max_connections ) ;
BOOL claim_connection ( int cnum , char * name , int max_connections , BOOL Clear ) ;
void exit_server ( char * reason ) ;
1997-08-27 23:27:25 +04:00
void standard_sub ( int cnum , char * str ) ;
1996-06-29 22:49:20 +04:00
char * smb_fn_name ( int type ) ;
1996-08-19 15:17:29 +04:00
int chain_reply ( char * inbuf , char * outbuf , int size , int bufsize ) ;
1996-06-29 22:49:20 +04:00
int construct_reply ( char * inbuf , char * outbuf , int size , int bufsize ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from shmem.c */
1997-10-28 17:19:54 +03:00
struct shmem_ops * smb_shm_open ( char * file_name , int size , int ronly ) ;
/*The following definitions come from shmem_sysv.c */
struct shmem_ops * sysv_shm_open ( int size , int ronly ) ;
1996-08-24 05:41:46 +04:00
1997-09-14 20:37:18 +04:00
/*The following definitions come from smbdes.c */
1997-09-16 08:41:16 +04:00
void E_P16 ( unsigned char * p14 , unsigned char * p16 ) ;
void E_P24 ( unsigned char * p21 , unsigned char * c8 , unsigned char * p24 ) ;
1997-10-20 06:50:12 +04:00
void cred_hash1 ( unsigned char * out , unsigned char * in , unsigned char * key ) ;
void cred_hash2 ( unsigned char * out , unsigned char * in , unsigned char * key ) ;
1997-09-14 20:37:18 +04:00
1996-08-24 05:41:46 +04:00
/*The following definitions come from smbencrypt.c */
1996-06-29 22:49:20 +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 ) ;
1997-10-26 21:42:47 +03:00
void nt_lm_owf_gen ( char * pwd , char * nt_p16 , char * p16 ) ;
1996-08-24 05:41:46 +04:00
1997-10-05 18:17:53 +04:00
/*The following definitions come from smbparse.c */
1997-10-12 23:02:55 +04:00
char * smb_io_utime ( BOOL io , UTIME * t , char * q , char * base , int align , int depth ) ;
char * smb_io_time ( BOOL io , NTTIME * nttime , char * q , char * base , int align , int depth ) ;
1997-10-22 21:51:02 +04:00
void make_dom_sid ( DOM_SID * sid , char * domsid ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_dom_sid ( BOOL io , DOM_SID * sid , char * q , char * base , int align , int depth ) ;
1997-10-22 21:51:02 +04:00
void make_uni_hdr ( UNIHDR * hdr , int max_len , int len , uint16 terminate ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_unihdr ( BOOL io , UNIHDR * hdr , char * q , char * base , int align , int depth ) ;
1997-10-22 21:51:02 +04:00
void make_uni_hdr2 ( UNIHDR2 * hdr , int max_len , int len , uint16 terminate ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_unihdr2 ( BOOL io , UNIHDR2 * hdr2 , char * q , char * base , int align , int depth ) ;
1997-10-22 21:51:02 +04:00
void make_unistr ( UNISTR * str , char * buf ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_unistr ( BOOL io , UNISTR * uni , char * q , char * base , int align , int depth ) ;
1997-10-22 21:51:02 +04:00
void make_unistr2 ( UNISTR2 * str , char * buf , int len ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_unistr2 ( BOOL io , UNISTR2 * uni2 , char * q , char * base , int align , int depth ) ;
1997-10-22 21:51:02 +04:00
void make_dom_sid2 ( DOM_SID2 * sid2 , char * sid_str ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_dom_sid2 ( BOOL io , DOM_SID2 * sid2 , char * q , char * base , int align , int depth ) ;
1997-10-22 21:51:02 +04:00
void make_dom_rid2 ( DOM_RID2 * rid2 , uint32 rid ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_dom_rid2 ( BOOL io , DOM_RID2 * rid2 , char * q , char * base , int align , int depth ) ;
1997-10-25 17:15:52 +04:00
void make_clnt_srv ( DOM_CLNT_SRV * log , char * logon_srv , char * comp_name ) ;
1997-10-15 23:16:38 +04:00
char * smb_io_clnt_srv ( BOOL io , DOM_CLNT_SRV * log , char * q , char * base , int align , int depth ) ;
1997-10-25 14:58:18 +04:00
void make_log_info ( DOM_LOG_INFO * log , char * logon_srv , char * acct_name ,
uint16 sec_chan , char * comp_name ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_log_info ( BOOL io , DOM_LOG_INFO * log , char * q , char * base , int align , int depth ) ;
char * smb_io_chal ( BOOL io , DOM_CHAL * chal , char * q , char * base , int align , int depth ) ;
char * smb_io_cred ( BOOL io , DOM_CRED * cred , char * q , char * base , int align , int depth ) ;
1997-10-25 17:15:52 +04:00
void make_clnt_info2 ( DOM_CLNT_INFO2 * clnt ,
char * logon_srv , char * comp_name ,
DOM_CRED * clnt_cred ) ;
1997-10-15 23:16:38 +04:00
char * smb_io_clnt_info2 ( BOOL io , DOM_CLNT_INFO2 * clnt , char * q , char * base , int align , int depth ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_clnt_info ( BOOL io , DOM_CLNT_INFO * clnt , char * q , char * base , int align , int depth ) ;
1997-10-25 17:15:52 +04:00
void make_logon_id ( DOM_LOGON_ID * log , uint32 log_id_low , uint32 log_id_high ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_logon_id ( BOOL io , DOM_LOGON_ID * log , char * q , char * base , int align , int depth ) ;
1997-10-25 17:15:52 +04:00
void make_arc4_owf ( ARC4_OWF * hash , char data [ 16 ] ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_arc4_owf ( BOOL io , ARC4_OWF * hash , char * q , char * base , int align , int depth ) ;
1997-10-25 17:15:52 +04:00
void make_id_info1 ( DOM_ID_INFO_1 * id , char * domain_name ,
uint32 param_ctrl , uint32 log_id_low , uint32 log_id_high ,
1997-10-26 10:32:02 +03:00
char * user_name , char * wksta_name ,
1997-10-25 17:15:52 +04:00
char arc4_lm_owf [ 16 ] , char arc4_nt_owf [ 16 ] ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_id_info1 ( BOOL io , DOM_ID_INFO_1 * id , char * q , char * base , int align , int depth ) ;
1997-10-25 17:15:52 +04:00
void make_sam_info ( DOM_SAM_INFO * sam ,
char * logon_srv , char * comp_name , DOM_CRED * clnt_cred ,
1997-10-26 10:32:02 +03:00
DOM_CRED * rtn_cred , uint16 logon_level , uint16 switch_value ,
1997-10-25 17:15:52 +04:00
DOM_ID_INFO_1 * id1 ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_sam_info ( BOOL io , DOM_SAM_INFO * sam , char * q , char * base , int align , int depth ) ;
char * smb_io_gid ( BOOL io , DOM_GID * gid , char * q , char * base , int align , int depth ) ;
1997-10-28 20:54:10 +03:00
void make_rpc_hdr ( RPC_HDR * hdr , enum RPC_PKT_TYPE pkt_type ,
uint32 call_id , int data_len ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_rpc_hdr ( BOOL io , RPC_HDR * rpc , char * q , char * base , int align , int depth ) ;
1997-10-28 20:54:10 +03:00
void make_rpc_iface ( RPC_IFACE * ifc , char data [ 16 ] , uint32 version ) ;
char * smb_io_rpc_iface ( BOOL io , RPC_IFACE * ifc , char * q , char * base , int align , int depth ) ;
void make_rpc_addr_str ( RPC_ADDR_STR * str , char * name ) ;
char * smb_io_rpc_addr_str ( BOOL io , RPC_ADDR_STR * str , char * q , char * base , int align , int depth ) ;
void make_rpc_hdr_bba ( RPC_HDR_BBA * bba , uint16 max_tsize , uint16 max_rsize , uint32 assoc_gid ) ;
char * smb_io_rpc_hdr_bba ( BOOL io , RPC_HDR_BBA * rpc , char * q , char * base , int align , int depth ) ;
void make_rpc_hdr_rb ( RPC_HDR_RB * rpc , enum RPC_PKT_TYPE pkt_type ,
uint32 call_id , int data_len ,
uint16 max_tsize , uint16 max_rsize , uint32 assoc_gid ,
uint32 num_elements , uint16 context_id , uint8 num_syntaxes ,
RPC_IFACE * abstract , RPC_IFACE * transfer ) ;
char * smb_io_rpc_hdr_rb ( BOOL io , RPC_HDR_RB * rpc , char * q , char * base , int align , int depth ) ;
void make_rpc_results ( RPC_RESULTS * res ,
uint8 num_results , uint16 result , uint16 reason ) ;
char * smb_io_rpc_results ( BOOL io , RPC_RESULTS * res , char * q , char * base , int align , int depth ) ;
void make_rpc_hdr_ba ( RPC_HDR_BA * rpc , enum RPC_PKT_TYPE pkt_type ,
uint32 call_id , int data_len ,
uint16 max_tsize , uint16 max_rsize , uint32 assoc_gid ,
char * pipe_addr ,
uint8 num_results , uint16 result , uint16 reason ,
RPC_IFACE * transfer ) ;
char * smb_io_rpc_hdr_ba ( BOOL io , RPC_HDR_BA * rpc , char * q , char * base , int align , int depth ) ;
1997-10-27 18:09:23 +03:00
void make_obj_attr ( LSA_OBJ_ATTR * attr , uint32 attributes , uint32 sec_qos ) ;
char * smb_io_obj_attr ( BOOL io , LSA_OBJ_ATTR * attr , char * q , char * base , int align , int depth ) ;
1997-10-28 20:54:10 +03:00
void make_rpc_hdr_rr ( RPC_HDR_RR * hdr , enum RPC_PKT_TYPE pkt_type ,
uint32 call_id , int data_len , uint8 opnum ) ;
char * smb_io_rpc_hdr_rr ( BOOL io , RPC_HDR_RR * rpc , char * q , char * base , int align , int depth ) ;
1997-10-12 18:17:55 +04:00
char * smb_io_pol_hnd ( BOOL io , LSA_POL_HND * pol , char * q , char * base , int align , int depth ) ;
1997-10-12 23:02:55 +04:00
char * smb_io_dom_query_3 ( BOOL io , DOM_QUERY_3 * d_q , char * q , char * base , int align , int depth ) ;
char * smb_io_dom_query_5 ( BOOL io , DOM_QUERY_3 * d_q , char * q , char * base , int align , int depth ) ;
char * smb_io_dom_query ( BOOL io , DOM_QUERY * d_q , char * q , char * base , int align , int depth ) ;
char * smb_io_dom_r_ref ( BOOL io , DOM_R_REF * r_r , char * q , char * base , int align , int depth ) ;
char * smb_io_dom_name ( BOOL io , DOM_NAME * name , char * q , char * base , int align , int depth ) ;
char * smb_io_neg_flags ( BOOL io , NEG_FLAGS * neg , char * q , char * base , int align , int depth ) ;
1997-10-05 18:17:53 +04:00
1996-08-24 05:41:46 +04:00
/*The following definitions come from smbpass.c */
1996-07-24 10:14:51 +04:00
int pw_file_lock ( char * name , int type , int secs ) ;
int pw_file_unlock ( int fd ) ;
1996-07-18 14:20:51 +04:00
struct smb_passwd * get_smbpwnam ( char * name ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from smbpasswd.c */
/*The following definitions come from smbrun.c */
1997-10-19 19:33:25 +04:00
/*The following definitions come from srvparse.c */
1997-10-20 05:00:08 +04:00
char * srv_io_share_info1_str ( BOOL io , SH_INFO_1_STR * sh1 , char * q , char * base , int align , int depth ) ;
char * srv_io_share_info1 ( BOOL io , SH_INFO_1 * sh1 , char * q , char * base , int align , int depth ) ;
char * srv_io_share_1_ctr ( BOOL io , SHARE_INFO_1_CTR * ctr , char * q , char * base , int align , int depth ) ;
1997-10-19 19:33:25 +04:00
char * srv_io_q_net_share_enum ( BOOL io , SRV_Q_NET_SHARE_ENUM * q_n , char * q , char * base , int align , int depth ) ;
char * srv_io_r_net_share_enum ( BOOL io , SRV_R_NET_SHARE_ENUM * r_n , char * q , char * base , int align , int depth ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from status.c */
1996-06-29 22:49:20 +04:00
void Ucrit_addUsername ( pstring username ) ;
unsigned int Ucrit_checkUsername ( pstring username ) ;
void Ucrit_addPid ( int pid ) ;
unsigned int Ucrit_checkPid ( int pid ) ;
1996-08-24 05:41:46 +04:00
1997-09-23 23:19:06 +04:00
/*The following definitions come from system.c */
int sys_select ( fd_set * fds , struct timeval * tval ) ;
int sys_select ( fd_set * fds , struct timeval * tval ) ;
int sys_unlink ( char * fname ) ;
int sys_open ( char * fname , int flags , int mode ) ;
DIR * sys_opendir ( char * dname ) ;
int sys_stat ( char * fname , struct stat * sbuf ) ;
int sys_waitpid ( pid_t pid , int * status , int options ) ;
int sys_lstat ( char * fname , struct stat * sbuf ) ;
int sys_mkdir ( char * dname , int mode ) ;
int sys_rmdir ( char * dname ) ;
int sys_chdir ( char * dname ) ;
int sys_utime ( char * fname , struct utimbuf * times ) ;
int sys_rename ( char * from , char * to ) ;
int sys_chmod ( char * fname , int mode ) ;
char * sys_getwd ( char * s ) ;
int sys_chown ( char * fname , int uid , int gid ) ;
int sys_chroot ( char * dname ) ;
struct hostent * sys_gethostbyname ( char * name ) ;
/*The following definitions come from testparm.c */
/*The following definitions come from testprns.c */
int main ( int argc , char * argv [ ] ) ;
/*The following definitions come from time.c */
1996-06-29 22:49:20 +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 ) ;
1997-10-20 22:52:04 +04:00
BOOL null_mtime ( time_t mtime ) ;
1996-06-29 22:49:20 +04:00
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 * timestring ( void ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from trans2.c */
1996-06-29 22:49:20 +04:00
int reply_findclose ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_findnclose ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_transs2 ( char * inbuf , char * outbuf , int length , int bufsize ) ;
int reply_trans2 ( char * inbuf , char * outbuf , int length , int bufsize ) ;
1996-08-24 05:41:46 +04:00
1997-10-18 03:08:07 +04:00
/*The following definitions come from ubi_dLinkList.c */
1996-08-24 05:41:46 +04:00
/*The following definitions come from ufc.c */
1996-06-29 22:49:20 +04:00
char * ufc_crypt ( char * key , char * salt ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from uid.c */
1996-06-29 22:49:20 +04:00
void init_uid ( void ) ;
BOOL become_guest ( void ) ;
1997-10-25 14:58:18 +04:00
BOOL become_user ( connection_struct * conn , int cnum , uint16 vuid ) ;
1996-06-29 22:49:20 +04:00
BOOL unbecome_user ( void ) ;
1996-10-04 13:31:07 +04:00
int smbrun ( char * cmd , char * outfile , BOOL shared ) ;
1997-10-16 01:53:59 +04:00
void become_root ( BOOL save_dir ) ;
void unbecome_root ( BOOL restore_dir ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from username.c */
1996-06-29 22:49:20 +04:00
char * get_home_dir ( char * user ) ;
void map_username ( char * user ) ;
struct passwd * Get_Pwnam ( char * user , BOOL allow_change ) ;
BOOL user_in_list ( char * user , char * list ) ;
1996-08-24 05:41:46 +04:00
/*The following definitions come from util.c */
1996-06-29 22:49:20 +04:00
void setup_logging ( char * pname , BOOL interactive ) ;
void reopen_logs ( void ) ;
1996-10-24 04:09:08 +04:00
char * tmpdir ( void ) ;
1996-06-29 22:49:20 +04:00
BOOL is_a_socket ( int fd ) ;
BOOL next_token ( char * * ptr , char * buff , char * sep ) ;
char * * toktocliplist ( int * ctok , char * sep ) ;
void * MemMove ( void * dest , void * src , int size ) ;
void array_promote ( char * array , int elsize , int element ) ;
void set_socket_options ( int fd , char * options ) ;
void close_sockets ( void ) ;
BOOL in_group ( gid_t group , int current_gid , int ngroups , int * groups ) ;
char * StrCpy ( char * dest , char * src ) ;
1996-10-02 18:09:22 +04:00
char * StrnCpy ( char * dest , char * src , int n ) ;
1996-06-29 22:49:20 +04:00
void putip ( void * dest , void * src ) ;
1997-10-08 21:12:07 +04:00
int name_mangle ( char * In , char * Out , char name_type ) ;
1996-06-29 22:49:20 +04:00
BOOL file_exist ( char * fname , struct stat * sbuf ) ;
time_t file_modtime ( char * fname ) ;
BOOL directory_exist ( char * dname , struct stat * st ) ;
uint32 file_size ( char * file_name ) ;
char * attrib_string ( int mode ) ;
1997-09-14 20:37:18 +04:00
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 ) ;
1996-06-29 22:49:20 +04:00
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_numwords ( char * buf ) ;
int smb_buflen ( char * buf ) ;
int smb_buf_ofs ( 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 ) ;
void make_dir_struct ( char * buf , char * mask , char * fname , unsigned int size , int mode , time_t date ) ;
void close_low_fds ( void ) ;
nameserv.c: split add_domain_names() into three functions:
add_domain_logon_names() - adds <1c> names on WINS and broadcast.
add_domain_master_wins() - adds <1b> name only with WINS server
add_domain_master_bcast() - adds <1b> names only by bcast.
: made add_domain_names() add <1c> names, unconditionally, and
add <1b> name with the WINS server if using a WINS server, or
add <1b> name by broadcast if _not_ using a WINS server, but
_not_ both.
: removed the direct parameter from remove_name_entry() and
add_my_name_entry().
nameelect.c: made become_domain_master(), on successful registration of
the <1b> name with the WINS server, go ahead and register
the <1b> names by broadcast. if the <1b> name is _not_
successfully registered with the WINS server, the broadcast
registration of <1b> names will _not_ proceed.
namedbsubnet.c: sorted out calls to add_my_name_entry() and remove_my_name()
which no longer has a direct parameter.
this is all added because...
in order to fix a compatibility bug with 1.9.16p2->p11, jeremy had added a
feature that got the <1b> broadcast registered names _directly_ into the nmbd
netbios lists, undefended. the aim was to get round the aggressive netbios
registration of <1b> names of 1.9.16p2->p11.
however, because 1.9.16p2->p11 don't properly _provide_ netlogon services,
it is better that an error message appears in 1.9.17 logs, and that
administrators are made aware of the problems with 1.9.16p2->p11, and replace
1.9.16p2->p11 servers, rather than attempt to run 1.9.16 alonside 1.9.17.
(these warning messages will need to be added...)
in _addition_, they shouldn't _be_ getting two samba servers to provide
domain logon / domain master services for the same workgroup in the same
WINS scope!
lkcl
(This used to be commit 5a668ff7ba83433b5eaa9f7d03a42573ee26caf9)
1997-07-25 00:39:30 +04:00
int set_blocking ( int fd , BOOL set ) ;
1996-06-29 22:49:20 +04:00
int write_socket ( int fd , char * buf , int len ) ;
int read_udp_socket ( int fd , char * buf , int len ) ;
1996-07-30 19:47:30 +04:00
int read_with_timeout ( int fd , char * buf , int mincnt , int maxcnt , long time_out ) ;
1996-06-29 22:49:20 +04:00
int read_max_udp ( int fd , char * buffer , int bufsize , int maxtime ) ;
int TvalDiff ( struct timeval * tvalold , struct timeval * tvalnew ) ;
BOOL send_keepalive ( int client ) ;
int read_data ( int fd , char * buffer , int N ) ;
int write_data ( int fd , char * buffer , int N ) ;
int transfer_file ( int infd , int outfd , int n , char * header , int headlen , int align ) ;
int read_smb_length ( int fd , char * inbuf , int timeout ) ;
1997-09-30 06:38:19 +04:00
BOOL receive_smb ( int fd , char * buffer , int timeout ) ;
BOOL receive_local_message ( int fd , char * buffer , int buffer_len , int timeout ) ;
BOOL push_local_message ( char * buf , int msg_len ) ;
1997-09-23 23:19:06 +04:00
BOOL receive_message_or_smb ( int smbfd , int oplock_fd ,
char * buffer , int buffer_len ,
int timeout , BOOL * got_smb ) ;
1997-09-19 21:12:08 +04:00
BOOL send_smb ( int fd , char * buffer ) ;
char * name_ptr ( char * buf , int ofs ) ;
int name_extract ( char * buf , int ofs , char * name ) ;
1997-10-08 21:12:07 +04:00
int name_len ( char * s ) ;
1997-09-19 21:12:08 +04:00
BOOL send_one_packet ( char * buf , int len , struct in_addr ip , int port , int type ) ;
void msleep ( int t ) ;
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 ) ;
int set_filelen ( int fd , long len ) ;
int byte_checksum ( char * buf , int len ) ;
char * dirname_dos ( char * path , char * buf ) ;
void * Realloc ( void * p , int size ) ;
void Abort ( void ) ;
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 ) ;
int interpret_security ( 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 ( ) ;
char * client_name ( void ) ;
char * client_addr ( void ) ;
1997-10-20 20:25:19 +04:00
char * automount_server ( char * user_name ) ;
1997-09-19 21:12:08 +04:00
void standard_sub_basic ( char * str ) ;
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 ) ;
void BlockSignals ( BOOL block , int signum ) ;
void ajt_panic ( void ) ;
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 ) ;
BOOL fcntl_lock ( int fd , int op , uint32 offset , uint32 count , int type ) ;
int file_lock ( char * name , int timeout ) ;
void file_unlock ( int fd ) ;
BOOL is_myname ( char * s ) ;
void set_remote_arch ( enum remote_arch_types type ) ;
enum remote_arch_types get_remote_arch ( ) ;
1997-10-04 20:51:43 +04:00
char * skip_unicode_string ( char * buf , int n ) ;
1997-10-22 15:31:37 +04:00
char * unistrn2 ( uint16 * buf , int len ) ;
1997-10-09 18:40:46 +04:00
char * unistr2 ( uint16 * buf ) ;
1997-10-04 20:51:43 +04:00
char * unistr ( char * buf ) ;
int unistrncpy ( char * dst , char * src , int len ) ;
int unistrcpy ( char * dst , char * src ) ;
1997-09-26 23:26:56 +04:00
void fstrcpy ( char * dest , char * src ) ;
void pstrcpy ( char * dest , char * src ) ;
1997-10-04 20:51:43 +04:00
char * align4 ( char * q , char * base ) ;
char * align2 ( char * q , char * base ) ;
1997-10-06 21:52:25 +04:00
char * align_offset ( char * q , char * base , int align_offset_len ) ;
1997-10-20 06:50:12 +04:00
void dump_data ( int level , char * buf1 , int len ) ;
1997-10-12 15:46:42 +04:00
char * tab_depth ( int depth ) ;