+#ifndef _PROTO_H_
+#define _PROTO_H_
/* This file is automatically generated with "make proto". DO NOT EDIT */
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 flag);
+BOOL change_oem_password(struct smb_passwd *smbpw, char *new_passwd, BOOL override);
/*The following definitions come from client.c */
char *getsmbpass(char *prompt) ;
+/*The following definitions come from groupname.c */
+
+void load_groupname_map(void);
+void map_gid_to_sid( gid_t gid, DOM_SID *psid);
+
/*The following definitions come from interface.c */
void load_interfaces(void);
void interpret_coding_system(char *str);
void initialize_multibyte_vectors( int client_codepage);
+/*The following definitions come from ldap.c */
+
+struct passdb_ops *ldap_initialize_password_db(void);
+
/*The following definitions come from lib/rpc/client/cli_login.c */
BOOL cli_nt_setup_creds(struct cli_state *cli, unsigned char 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 lib/rpc/client/cli_pipe.c */
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, char *domain_sid,
- uint32 status);
+ 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 make_lsa_q_close(LSA_Q_CLOSE *q_c, POLICY_HND *hnd);
void lsa_io_q_close(char *desc, LSA_Q_CLOSE *q_c, 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 make_dom_sid(DOM_SID *sid, char *str_sid);
void smb_io_dom_sid(char *desc, DOM_SID *sid, prs_struct *ps, int depth);
-void make_dom_sid2(DOM_SID2 *sid, char *str_sid);
+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);
char *logon_srv,
char *logon_dom,
- char *dom_sid,
+ DOM_SID *dom_sid,
char *other_sids);
void net_io_user_info3(char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, int depth);
void net_io_q_sam_logon(char *desc, NET_Q_SAM_LOGON *q_l, prs_struct *ps, int depth);
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 make_samr_q_open_domain(SAMR_Q_OPEN_DOMAIN *q_u,
- POLICY_HND *connect_pol, uint32 rid, char *sid);
+ POLICY_HND *connect_pol, uint32 rid, DOM_SID *sid);
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 make_samr_q_unknown_8(SAMR_Q_UNKNOWN_8 *q_u,
void make_samr_q_unknown_3(SAMR_Q_UNKNOWN_3 *q_u,
POLICY_HND *user_pol, uint16 switch_value);
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, char *sid);
+void make_dom_sid3(DOM_SID3 *sid3, uint16 unk_0, uint16 unk_1, DOM_SID *sid);
void sam_io_dom_sid3(char *desc, DOM_SID3 *sid3, prs_struct *ps, int depth);
void make_sam_sid_stuff(SAM_SID_STUFF *stf,
uint16 unknown_2, uint16 unknown_3,
void make_srv_r_net_srv_set_info(SRV_R_NET_SRV_SET_INFO *srv,
uint32 switch_value, SRV_INFO_CTR *ctr, uint32 status);
void srv_io_r_net_srv_set_info(char *desc, SRV_R_NET_SRV_SET_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 srv_io_time_of_day_info(char *desc, TIME_OF_DAY_INFO *tod, 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 lib/rpc/parse/parse_wks.c */
/*The following definitions come from lib/rpc/server/srv_util.c */
-int make_dom_gids(char *gids_str, DOM_GID *gids);
-void get_domain_user_groups(char *domain_groups, char *user);
+BOOL lookup_wellknown_sid_from_name(char *windows_name, DOM_SID *psid);
+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);
-BOOL name_to_rid(char *user_name, uint32 *u_rid, uint32 *g_rid);
-uint32 uid_to_user_rid(uint32 uid);
-uint32 gid_to_group_rid(uint32 gid);
/*The following definitions come from lib/rpc/server/srv_wkssvc.c */
char *lp_name_resolve_order(void);
char *lp_workgroup(void);
char *lp_username_map(void);
+char *lp_groupname_map(void);
char *lp_character_set(void);
char *lp_logon_script(void);
char *lp_logon_path(void);
char *lp_domain_sid(void);
char *lp_domain_other_sids(void);
char *lp_domain_groups(void);
+char *lp_domain_admin_group(void);
+char *lp_domain_guest_group(void);
char *lp_domain_admin_users(void);
char *lp_domain_guest_users(void);
char *lp_domain_hostsallow(void);
char *lp_domain_hostsdeny(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);
+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);
BOOL lp_dns_proxy(void);
BOOL lp_wins_support(void);
BOOL lp_we_are_a_wins_server(void);
int lp_announce_as(void);
int lp_lm_announce(void);
int lp_lm_interval(void);
+int lp_machine_password_timeout(void);
+int lp_ldap_port(void);
char *lp_preexec(int );
char *lp_postexec(int );
char *lp_rootpreexec(int );
char *lp_lprmcommand(int );
char *lp_lppausecommand(int );
char *lp_lpresumecommand(int );
+char *lp_queuepausecommand(int );
+char *lp_queueresumecommand(int );
char *lp_printername(int );
char *lp_printerdriver(int );
char *lp_hostsallow(int );
/*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 is_locked(int fnum,int cnum,uint32 count,uint32 offset, int lock_type);
+BOOL do_lock(int fnum,int cnum,uint32 count,uint32 offset,int lock_type,
+ int *eclass,uint32 *ecode);
BOOL do_unlock(int fnum,int cnum,uint32 count,uint32 offset,int *eclass,uint32 *ecode);
BOOL locking_init(int read_only);
BOOL locking_end(void);
int str_checksum( char *s );
void reset_mangled_cache( void );
BOOL check_mangled_cache( char *s );
-void mangle_name_83( char *s );
+void mangle_name_83( char *s, int s_len );
BOOL name_map_mangle( char *OutName, BOOL need83, int snum );
/*The following definitions come from md4.c */
void endlmhosts(FILE *fp);
BOOL resolve_name(char *name, struct in_addr *return_ip);
+/*The following definitions come from nisppass.c */
+
+struct passdb_ops *nisplus_initialize_password_db(void);
+
/*The following definitions come from nmbd.c */
BOOL reload_services(BOOL test);
struct in_addr released_ip);
void unbecome_local_master_fail(struct subnet_record *subrec, struct response_record *rrec,
struct nmb_name *fail_name);
-void release_1d_name( struct subnet_record *subrec, char *workgroup_name);
-void unbecome_local_master_browser(struct subnet_record *subrec, struct work_record *work);
+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_browserdb.c */
-void remove_lmb_browser_entry(struct browse_cache_record *browc);
-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);
+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);
-void remove_workgroup_lmb_browsers(char *work_group);
+void expire_lmb_browsers( time_t t );
+void remove_workgroup_lmb_browsers( char *work_group );
/*The following definitions come from nmbd_browsesync.c */
/*The following definitions come from nmbd_namelistdb.c */
void set_samba_nb_type(void);
-BOOL ms_browser_name(char *name, int type);
-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);
+BOOL ms_browser_name( char *name, int type );
+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 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 add_samba_names_to_subnet( struct subnet_record *subrec );
void dump_all_namelists(void);
/*The following definitions come from nmbd_namequery.c */
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);
+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);
char *get_nt_error_msg(uint32 nt_code);
+/*The following definitions come from nttrans.c */
+
+int reply_ntcreate_and_X(char *inbuf,char *outbuf,int length,int bufsize);
+int reply_ntcancel(char *inbuf,char *outbuf,int length,int bufsize);
+int reply_nttranss(char *inbuf,char *outbuf,int length,int bufsize);
+int reply_nttrans(char *inbuf,char *outbuf,int length,int bufsize);
+
/*The following definitions come from params.c */
BOOL pm_process( char *FileName,
BOOL (*sfunc)(char *),
BOOL (*pfunc)(char *, char *) );
+/*The following definitions come from 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);
+unsigned long getsmbpwpos(void *vp);
+BOOL setsmbpwpos(void *vp, unsigned long tok);
+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 *getsamdispnam(char *name);
+struct sam_disp_info *getsamdisprid(uint32 rid);
+struct sam_disp_info *getsamdispent(void *vp);
+struct sam_passwd *getsam21pwent(void *vp);
+BOOL add_sam21pwd_entry(struct sam_passwd *newpwd);
+BOOL mod_sam21pwd_entry(struct sam_passwd* pwd, BOOL override);
+struct sam_passwd *getsam21pwnam(char *name);
+struct sam_passwd *getsam21pwrid(uint32 rid);
+struct sam_passwd *getsam21pwuid(uid_t uid);
+void pdb_init_dispinfo(struct sam_disp_info *user);
+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);
+struct sam_passwd *pdb_smb_to_sam(struct smb_passwd *user);
+time_t pdb_get_last_set_time(char *p);
+void pdb_set_logon_time(char *p, int max_len, time_t t);
+void pdb_set_logoff_time(char *p, int max_len, time_t t);
+void pdb_set_kickoff_time(char *p, int max_len, time_t t);
+void pdb_set_can_change_time(char *p, int max_len, time_t t);
+void pdb_set_must_change_time(char *p, int max_len, time_t t);
+void pdb_set_last_set_time(char *p, int max_len, time_t t);
+char *pdb_encode_acct_ctrl(uint16 acct_ctrl);
+uint16 pdb_decode_acct_ctrl(char *p);
+BOOL pdb_gethexpwd(char *p, char *pwd);
+void pdb_sethexpwd(char *p, char *pwd, uint16 acct_ctrl);
+BOOL pdb_name_to_rid(char *user_name, uint32 *u_rid, uint32 *g_rid);
+BOOL pdb_generate_machine_sid(void);
+uid_t pdb_user_rid_to_uid(uint32 u_rid);
+gid_t pdb_group_rid_to_gid(uint32 g_rid);
+uint32 pdb_uid_to_user_rid(uid_t uid);
+uint32 pdb_gid_to_group_rid(gid_t gid);
+BOOL pdb_rid_is_well_known(uint32 rid);
+BOOL pdb_rid_is_user(uint32 rid);
+
/*The following definitions come from password.c */
void generate_next_challenge(char *challenge);
BOOL set_challenge(char *challenge);
-BOOL last_challenge(char *challenge);
+BOOL last_challenge(unsigned 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,
int **p_igroups, gid_t **p_groups,
int **p_attrs);
-uint16 register_vuid(int uid,int gid, char *name,BOOL guest);
+uint16 register_vuid(int uid,int gid, char *unix_name, char *requested_name, BOOL guest);
void add_session_user(char *user);
BOOL update_smbpassword_file( char *user, fstring password);
void dfs_unlogin(void);
/*The following definitions come from pidfile.c */
-void pidfile_create(char *name);
int pidfile_pid(char *name);
+void pidfile_create(char *name);
/*The following definitions come from pipes.c */
void status_printjob(int cnum,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(int cnum,int snum,int status);
/*The following definitions come from quotas.c */
int reply_printwrite(char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
int reply_mkdir(char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
int reply_rmdir(char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
+int rename_internals(char *inbuf, char *outbuf, char *name, char *newname, BOOL replace_if_exists);
int reply_mv(char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
int reply_copy(char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
int reply_setdir(char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
BOOL check_name(char *name,int cnum);
void sync_file(int fnum);
void close_file(int fnum, BOOL normal_close);
+void close_directory(int fnum);
+void open_directory(int fnum,int cnum,char *fname, int *action);
BOOL check_file_sharing(int cnum,char *fname, BOOL rename_op);
int check_share_mode( share_mode_entry *share, int deny_mode, char *fname,
BOOL fcbopen, int *flags);
struct shmem_ops *sysv_shm_open(int ronly);
+/*The following definitions come from slprintf.c */
+
+int vslprintf(char *str, int n, char *format, va_list ap);
+
/*The following definitions come from smbdes.c */
void E_P16(unsigned char *p14,unsigned char *p16);
/*The following definitions come from smbpass.c */
-void *startsmbpwent(BOOL update);
-void endsmbpwent(void *vp);
-struct smb_passwd *getsmbpwent(void *vp);
-unsigned long getsmbpwpos(void *vp);
-BOOL setsmbpwpos(void *vp, unsigned long tok);
-struct smb_passwd *getsmbpwnam(char *name);
-struct smb_passwd *getsmbpwuid(unsigned int uid);
-char *encode_acct_ctrl(uint16 acct_ctrl);
-BOOL add_smbpwd_entry(struct smb_passwd *newpwd);
-BOOL mod_smbpwd_entry(struct smb_passwd* pwd, BOOL override);
-void *machine_password_lock( char *domain, char *name, BOOL update);
-BOOL machine_password_unlock( void *token );
-BOOL machine_password_delete( char *domain, char *name );
-BOOL get_machine_account_password( void *mach_tok, unsigned char *ret_pwd,
- time_t *last_change_time);
-BOOL set_machine_account_password( void *mach_tok, unsigned char *md4_new_pwd);
+struct passdb_ops *file_initialize_password_db(void);
+
+/*The following definitions come from 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);
/*The following definitions come from status.c */
/*The following definitions come from username.c */
char *get_home_dir(char *user);
-void map_username(char *user);
+BOOL map_username(char *user);
struct passwd *Get_Pwnam(char *user,BOOL allow_change);
BOOL user_in_list(char *user,char *list);
int sig_usr1(void);
void setup_logging(char *pname,BOOL interactive);
void reopen_logs(void);
+void force_check_log_size(void);
char *tmpdir(void);
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 *mem_dup( void *from, int size );
void array_promote(char *array,int elsize,int element);
void set_socket_options(int fd, char *options);
void close_sockets(void );
char *unistr(char *buf);
int unistrncpy(char *dst, char *src, int len);
int unistrcpy(char *dst, char *src);
-void fstrcpy(char *dest, char *src);
-void pstrcpy(char *dest, char *src);
+char *safe_strcpy(char *dest, char *src, int maxlength);
+char *safe_strcat(char *dest, char *src, int maxlength);
char *align4(char *q, char *base);
char *align2(char *q, char *base);
char *align_offset(char *q, char *base, int align_offset_len);
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 *dom_sid_to_string(DOM_SID *sid);
+char *sid_to_string(pstring sidstr_out, DOM_SID *sid);
+BOOL string_to_sid(DOM_SID *sidout, char *sidstr);
/*The following definitions come from web/cgi.c */
/*The following definitions come from web/swat.c */
int main(int argc, char *argv[]);
+#endif /* _PROTO_H_ */