summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1996-07-01 18:29:21 +0000
committerSamba Release Account <samba-bugs@samba.org>1996-07-01 18:29:21 +0000
commit7a804a2e838846715f036e5e93630a4436a4ec4b (patch)
treec31452440cd49448bec35d4abba4b89ee659165f /source3/include
parenta853abd9ae082d5b69093e662a57194b17babaff (diff)
downloadsamba-7a804a2e838846715f036e5e93630a4436a4ec4b.tar.gz
samba-7a804a2e838846715f036e5e93630a4436a4ec4b.tar.bz2
samba-7a804a2e838846715f036e5e93630a4436a4ec4b.zip
updated the NetBIOS code due to some bugs found by writing the first draft
of the low level design docs. (This used to be commit 103012e5f2fac09598d60c4263c3a30992680729)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h238
1 files changed, 201 insertions, 37 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index ce02be129f..8dc3df0183 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1,20 +1,39 @@
/* This file is automatically generated with "make proto". DO NOT EDIT */
+
+
+/*The following definitions come from access.c */
+
BOOL check_access(int snum);
BOOL allow_access(char *deny_list,char *allow_list,struct from_host *client);
BOOL fromhost(int sock,struct from_host *f);
+
+/*The following definitions come from charcnv.c */
+
char *unix2dos_format(char *str,BOOL overwrite);
char *dos2unix_format(char *str, BOOL overwrite);
int interpret_character_set(char *str, int def);
+
+/*The following definitions come from charset.c */
+
void charset_initialise(void);
void add_char_string(char *s);
+
+/*The following definitions come from chgpasswd.c */
+
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);
+
+/*The following definitions come from client.c */
+
void setup_pkt(char *outbuf);
void do_dir(char *inbuf,char *outbuf,char *Mask,int attribute,void (*fn)(),BOOL recurse_dir);
void cmd_help(void);
BOOL reopen_connection(char *inbuf,char *outbuf);
char *smb_errstr(char *inbuf);
+
+/*The following definitions come from clientutil.c */
+
void cli_setup_pkt(char *outbuf);
BOOL cli_receive_trans_response(char *inbuf,int trans,int *data_len,
int *param_len, char **data,char **param);
@@ -29,6 +48,9 @@ BOOL cli_send_trans_request(char *outbuf, int trans, char *name, int fid, int fl
BOOL cli_open_sockets(int port);
BOOL cli_reopen_connection(char *inbuf,char *outbuf);
char *smb_errstr(char *inbuf);
+
+/*The following definitions come from clitar.c */
+
int strslashcmp(const char *s1, const char *s2);
void cmd_block(void);
void cmd_tarmode(void);
@@ -37,6 +59,9 @@ 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);
+
+/*The following definitions come from dir.c */
+
void init_dptrs(void);
char *dptr_path(int key);
char *dptr_wcard(int key);
@@ -62,10 +87,18 @@ int TellDir(void *p);
void DirCacheAdd(char *path,char *name,char *dname,int snum);
char *DirCacheCheck(char *path,char *name,int snum);
void DirCacheFlush(int snum);
+
+/*The following definitions come from fault.c */
+
void fault_setup(void (*fn)());
+
+/*The following definitions come from getsmbpass.c */
+
char *getsmbpass(char *prompt) ;
+
+/*The following definitions come from interface.c */
+
void load_interfaces(void);
-void add_subnet_interfaces(void);
void iface_set_default(char *ip,char *bcast,char *nmask);
BOOL ismyip(struct in_addr ip);
BOOL ismybcast(struct in_addr bcast);
@@ -74,8 +107,17 @@ 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);
+
+/*The following definitions come from ipc.c */
+
int reply_trans(char *inbuf,char *outbuf);
+
+/*The following definitions come from kanji.c */
+
int interpret_coding_system(char *str, int def);
+
+/*The following definitions come from loadparm.c */
+
char *lp_string(char *s);
char *lp_logfile(void);
char *lp_smbrun(void);
@@ -208,6 +250,9 @@ void lp_dump(void);
int lp_servicenumber(char *pszServiceName);
char *my_workgroup(void);
char *volume_label(int snum);
+
+/*The following definitions come from locking.c */
+
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);
@@ -220,6 +265,9 @@ int get_share_mode(int cnum,struct stat *sbuf,int *pid);
void del_share_mode(int fnum);
BOOL set_share_mode(int fnum,int mode);
void clean_share_files(void);
+
+/*The following definitions come from mangle.c */
+
int str_checksum(char *s);
BOOL is_8_3(char *fname);
void create_mangled_stack(int size);
@@ -227,30 +275,50 @@ 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 */
+
+
+/*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 announce_backup(void);
+void do_announce_host(int command,
+ char *from_name, int from_type, struct in_addr from_ip,
+ char *to_name , int to_type , struct in_addr to_ip,
+ int updatecount, time_t announce_interval,
+ char *server_name, int server_type, char *server_comment);
+void announce_server(struct subnet_record *d, struct work_record *work,
+ char *name, char *comment, time_t ttl, int server_type);
void announce_host(void);
void announce_master(void);
+
+/*The following definitions come from namedb.c */
+
struct work_record *remove_workgroup(struct subnet_record *d,
struct work_record *work);
void expire_browse_cache(time_t t);
struct work_record *find_workgroupstruct(struct subnet_record *d,
fstring name, BOOL add);
-struct subnet_record *find_subnet(struct in_addr source_ip);
+struct subnet_record *find_subnet(struct in_addr bcast_ip);
void dump_workgroups(void);
-struct subnet_record *add_subnet_entry(struct in_addr source_ip,
- struct in_addr source_mask,
+void add_subnet_interfaces(void);
+struct subnet_record *add_subnet_entry(struct in_addr bcast_ip,
+ struct in_addr mask_ip,
char *name, BOOL add, BOOL lmhosts);
struct browse_cache_record *add_browser_entry(char *name, int type, char *wg,
time_t ttl, struct in_addr ip);
-void remove_server(struct work_record *work, char *name);
+void remove_my_servers(void);
struct server_record *add_server_entry(struct subnet_record *d,
struct work_record *work,
char *name,int servertype,
@@ -258,36 +326,44 @@ struct server_record *add_server_entry(struct subnet_record *d,
BOOL replace);
void write_browse_list(void);
void expire_servers(time_t t);
-void query_refresh_names(void);
+
+/*The following definitions come from nameelect.c */
+
void check_master_browser(void);
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 become_nonmaster(struct subnet_record *d, struct work_record *work,
- int remove_type);
+ int remove_type);
void run_elections(void);
void process_election(struct packet_struct *p,char *buf);
BOOL check_elections(void);
+
+/*The following definitions come from namequery.c */
+
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)());
-void expire_netbios_response_entries(void);
+
+/*The following definitions come from nameresp.c */
+
+void expire_netbios_response_entries();
void reply_netbios_packet(struct packet_struct *p1,int trn_id,
- int rcode,int opcode,BOOL recurse,
- struct nmb_name *rr_name,int rr_type,int rr_class,int ttl,
- char *data,int len);
+ int rcode,int opcode, BOOL recurse,
+ struct nmb_name *rr_name,int rr_type,int rr_class,int ttl,
+ char *data,int len);
void queue_netbios_pkt_wins(struct subnet_record *d,
int fd,int quest_type,enum cmd_type cmd,
- char *name,int name_type, int nb_flags, time_t ttl,
+ char *name,int name_type,int nb_flags, time_t ttl,
BOOL bcast,BOOL recurse,struct in_addr to_ip);
void queue_netbios_packet(struct subnet_record *d,
- int fd,int quest_type,enum cmd_type cmd,char *name,
- int name_type,int nb_flags,time_t ttl,
- BOOL bcast,BOOL recurse, struct in_addr to_ip);
-struct response_record *find_response_record(struct subnet_record *d,
+ int fd,int quest_type,enum cmd_type cmd,char *name,
+ int name_type,int nb_flags, time_t ttl,
+ BOOL bcast,BOOL recurse, struct in_addr to_ip);
+struct response_record *find_response_record(struct subnet_record **d,
uint16 id);
void queue_packet(struct packet_struct *packet);
void run_packet_queue();
@@ -298,38 +374,39 @@ BOOL interpret_node_status(struct subnet_record *d,
BOOL send_mailslot_reply(char *mailslot,int fd,char *buf,int len,char *srcname,
char *dstname,int src_type,int dest_type,
struct in_addr dest_ip,struct in_addr src_ip);
+
+/*The following definitions come from nameserv.c */
+
void remove_name(struct subnet_record *d, struct name_record *n);
void dump_names(void);
-void remove_netbios_name(struct subnet_record *d, char *name,int type,
- enum name_source source,
+void load_netbios_names(void);
+void remove_netbios_name(struct subnet_record *d,
+ char *name,int type, enum name_source source,
struct in_addr ip);
-struct name_record *add_netbios_entry(struct subnet_record *d, char *name,
- int type, int nb_flags, int ttl,
- enum name_source source,
- struct in_addr ip,
- BOOL new_only, BOOL wins);
+struct name_record *add_netbios_entry(struct subnet_record *d,
+ char *name, int type, int nb_flags,
+ int ttl, enum name_source source, struct in_addr ip,
+ BOOL new_only,BOOL wins);
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 do_announce_host(int command,
- char *from, int from_type, struct in_addr from_ip,
- char *to , int to_type , struct in_addr to_ip,
- int update_count, time_t announce_interval,
- char *server_name, int server_type, char *server_comment);
-void load_netbios_names(void);
+void add_my_name_entry(struct subnet_record *d,char *name,int type,int nb_flags);
void add_my_names(void);
-void remove_my_names(void);
-void remove_my_servers(void);
-void announce_server(struct subnet_record *d, struct work_record *work,
- char *name, char *comment, time_t ttl, int server_type);
+void remove_my_names();
void refresh_my_names(time_t t);
+void query_refresh_names(void);
void expire_names(time_t t);
-void response_name_release(struct subnet_record *d,struct packet_struct *p);
+void response_name_release(struct subnet_record *d, struct packet_struct *p);
void reply_name_release(struct packet_struct *p);
-void response_name_reg(struct subnet_record *d,struct packet_struct *p);
+void response_name_reg(struct subnet_record *d, struct packet_struct *p);
void reply_name_reg(struct packet_struct *p);
void reply_name_status(struct packet_struct *p);
+struct name_record *search_for_name(struct subnet_record **d,
+ struct nmb_name *question,
+ struct in_addr ip, int Time, int search);
void reply_name_query(struct packet_struct *p);
void process_nmb(struct packet_struct *p);
+
+/*The following definitions come from namework.c */
+
void reset_server(char *name, int state, struct in_addr ip);
void tell_become_backup(void);
void do_browser_lists(void);
@@ -343,7 +420,13 @@ void process_logon_packet(struct packet_struct *p,char *buf,int len);
BOOL listening_type(struct packet_struct *p, int command);
void process_browse_packet(struct packet_struct *p,char *buf,int len);
void process_dgram(struct packet_struct *p);
+
+/*The following definitions come from nmbd.c */
+
BOOL reload_services(BOOL test);
+
+/*The following definitions come from nmblib.c */
+
void debug_nmb_packet(struct packet_struct *p);
char *namestr(struct nmb_name *n);
void free_nmb_packet(struct nmb_packet *nmb);
@@ -352,11 +435,23 @@ 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);
+
+/*The following definitions come from nmblookup.c */
+
int main(int argc,char *argv[]);
+
+/*The following definitions come from nmbsync.c */
+
char *getsmbpass(char *pass);
void sync_browse_lists(struct subnet_record *d, struct work_record *work,
- char *name, int nm_type, struct in_addr ip);
+ char *name, int nm_type, struct in_addr ip);
+
+/*The following definitions come from params.c */
+
BOOL pm_process(char *pszFileName,BOOL (*sfunc)(char *),BOOL (*pfunc)(char *,char *));
+
+/*The following definitions come from password.c */
+
void generate_next_challenge(char *challenge);
BOOL set_challenge(char *challenge);
BOOL last_challenge(char *challenge);
@@ -376,18 +471,36 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen,
BOOL check_hosts_equiv(char *user);
BOOL server_cryptkey(char *buf);
BOOL server_validate(char *buf);
+
+/*The following definitions come from pcap.c */
+
BOOL pcap_printername_ok(char *pszPrintername, char *pszPrintcapname);
void pcap_printer_fn(void (*fn)());
+
+/*The following definitions come from predict.c */
+
int read_predict(int fd,int offset,char *buf,char **ptr,int num);
void do_read_prediction();
void invalidate_read_prediction(int fd);
+
+/*The following definitions come from printing.c */
+
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);
+
+/*The following definitions come from quotas.c */
+
+BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize);
+BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize);
+BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize);
BOOL disk_quotas(char *path, int *bsize, int *dfree, int *dsize);
+
+/*The following definitions come from replace.c */
+
char *Strstr(char *s, char *p);
time_t Mktime(struct tm *t);
int InNetGr(char *group,char *host,char *user,char *dom);
@@ -395,6 +508,9 @@ 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);
+
+/*The following definitions come from reply.c */
+
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);
@@ -445,6 +561,9 @@ 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);
+
+/*The following definitions come from server.c */
+
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);
@@ -486,6 +605,9 @@ void standard_sub(int cnum,char *s);
char *smb_fn_name(int type);
int chain_reply(int type,char *inbuf,char *inbuf2,char *outbuf,char *outbuf2,int size,int bufsize);
int construct_reply(char *inbuf,char *outbuf,int size,int bufsize);
+
+/*The following definitions come from smbencrypt.c */
+
void str_to_key(uchar *str,uchar *key);
void D1(uchar *k, uchar *d, uchar *out);
void E1(uchar *k, uchar *d, uchar *out);
@@ -494,10 +616,25 @@ void E_P24(uchar *p21, uchar *c8, uchar *p24);
void SMBencrypt(uchar *passwd, uchar *c8, uchar *p24);
void E_md4hash(uchar *passwd, uchar *p16);
void SMBNTencrypt(uchar *passwd, uchar *c8, uchar *p24);
+
+/*The following definitions come from smbpass.c */
+
+
+/*The following definitions come from smbpasswd.c */
+
+
+/*The following definitions come from smbrun.c */
+
+
+/*The following definitions come from status.c */
+
void Ucrit_addUsername(pstring username);
unsigned int Ucrit_checkUsername(pstring username);
void Ucrit_addPid(int pid);
unsigned int Ucrit_checkPid(int pid);
+
+/*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);
@@ -512,7 +649,16 @@ int sys_utime(char *fname,struct utimbuf *times);
int sys_rename(char *from, char *to);
int sys_chown(char *fname,int uid,int gid);
int sys_chroot(char *dname);
+
+/*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 */
+
void GetTimeOfDay(struct timeval *tval);
void TimeInit(void);
int TimeDiff(time_t t);
@@ -527,20 +673,35 @@ time_t make_unix_date2(void *date_ptr);
time_t make_unix_date3(void *date_ptr);
BOOL set_filetime(char *fname,time_t mtime);
char *timestring(void );
+
+/*The following definitions come from trans2.c */
+
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);
+
+/*The following definitions come from ufc.c */
+
char *ufc_crypt(char *key,char *salt);
+
+/*The following definitions come from uid.c */
+
void init_uid(void);
BOOL become_guest(void);
BOOL become_user(int cnum, int uid);
BOOL unbecome_user(void );
int smbrun(char *cmd,char *outfile);
+
+/*The following definitions come from username.c */
+
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);
+
+/*The following definitions come from util.c */
+
void setup_logging(char *pname,BOOL interactive);
void reopen_logs(void);
BOOL is_a_socket(int fd);
@@ -647,6 +808,9 @@ char *gidtoname(int gid);
void BlockSignals(BOOL block);
void ajt_panic(void);
char *readdirname(void *p);
+
+/*The following definitions come from vt_mode.c */
+
int VT_Check(char *buffer);
int VT_Start_utmp(void);
int VT_Stop_utmp(void);