void fault_setup(void (*fn)(void *));
-/*The following definitions come from lib/fnmatch.c */
-
-int fnmatch (const char *pattern, const char *string, int flags);
-
/*The following definitions come from lib/fsusage.c */
int sys_fsusage(const char *path, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize);
/*The following definitions come from lib/msrpc_use.c */
+#if OLD_NTDOMAIN
void init_msrpc_use(void);
void free_msrpc_use(void);
struct msrpc_state *msrpc_use_add(const char* pipe_name,
BOOL force_close,
BOOL *connection_closed);
void msrpc_net_use_enum(uint32 *num_cons, struct use_info ***use);
+#endif
/*The following definitions come from lib/pidfile.c */
smb_ucs2_t *wsys_getwd(smb_ucs2_t *s);
int wsys_chown(const smb_ucs2_t *wfname, uid_t uid, gid_t gid);
int wsys_chroot(const smb_ucs2_t *wfname);
+pid_t sys_fork(void);
+pid_t sys_getpid(void);
int sys_popen(const char *command);
int sys_pclose(int fd);
BOOL map_username(char *user);
struct passwd *Get_Pwnam(char *user,BOOL allow_change);
BOOL user_in_list(char *user,char *list);
+struct passwd *smb_getpwnam(char *user, char *domain, BOOL allow_change);
+int smb_initgroups(char *user, char *domain, gid_t group);
/*The following definitions come from lib/util.c */
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);
-uint32 map_lock_offset(uint32 high, uint32 low);
BOOL fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type);
BOOL is_myname(char *s);
void set_remote_arch(enum remote_arch_types type);
int cli_list(struct cli_state *cli,const char *Mask,uint16 attribute,
void (*fn)(file_info *, const char *));
+int cli_list_old(struct cli_state *cli,const char *Mask,uint16 attribute,
+ void (*fn)(file_info *, const char *));
/*The following definitions come from libsmb/climessage.c */
BOOL brl_unlock(SMB_DEV_T dev, SMB_INO_T ino, int fnum,
uint16 smbpid, pid_t pid, uint16 tid,
br_off start, br_off size);
-BOOL brl_locktest(SMB_DEV_T dev, SMB_INO_T ino,
+BOOL brl_locktest(SMB_DEV_T dev, SMB_INO_T ino, int fnum,
uint16 smbpid, pid_t pid, uint16 tid,
br_off start, br_off size,
enum brl_type lock_type);
char *lp_domain_guest_users(void);
char *lp_nt_forms(void);
char *lp_nt_drivers_file(void);
+char *lp_winbind_uid(void);
+char *lp_winbind_gid(void);
+char *lp_template_homedir(void);
+char *lp_template_shell(void);
char *lp_ldap_server(void);
char *lp_ldap_suffix(void);
char *lp_ldap_filter(void);
char *lp_driverlocation(int );
char *lp_dfsmap(int );
BOOL lp_dfsmap_loaded(int );
+BOOL lp_autoloaded(int );
BOOL lp_preexec_close(int );
BOOL lp_rootpreexec_close(int );
BOOL lp_revalidate(int );
int lp_oplock_contention_limit(int );
int lp_write_cache_size(int );
char lp_magicchar(int );
+int lp_winbind_cache_time(void);
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 lookup_local_rid(uint32 rid, char *name, uint8 *psid_name_use);
BOOL lookup_local_name(char *domain, char *user, DOM_SID *psid, uint8 *psid_name_use);
+/*The following definitions come from passdb/secrets.c */
+
+BOOL secrets_init(void);
+void *secrets_fetch(char *key, size_t *size);
+BOOL secrets_store(char *key, void *data, size_t size);
+BOOL secrets_delete(char *key);
+
/*The following definitions come from passdb/smbpass.c */
char *format_new_smbpasswd_entry(struct smb_passwd *newpwd);
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);
-BOOL trust_get_passwd( unsigned char trust_passwd[16], char *domain, char *myname);
+BOOL trust_password_delete(char *domain);
+BOOL get_trust_account_password(char *domain, unsigned char *ret_pwd, time_t *pass_last_set_time);
+BOOL set_trust_account_password(char *domain, unsigned char *md4_new_pwd);
/*The following definitions come from printing/load.c */
void update_a_form(nt_forms_struct **list, const FORM *form, int count);
int get_ntdrivers(fstring **list, char *architecture);
void get_short_archi(char *short_archi, char *long_archi);
+uint32 del_a_printer(char *portname);
void dump_a_param(NT_PRINTER_PARAM *param);
BOOL add_a_specific_param(NT_PRINTER_INFO_LEVEL_2 *info_2, NT_PRINTER_PARAM *param);
BOOL unlink_specific_param_if_exist(NT_PRINTER_INFO_LEVEL_2 *info_2, NT_PRINTER_PARAM *param);
/*The following definitions come from printing/printfsp.c */
+#if OLD_NTDOMAIN
files_struct *print_fsp_open(connection_struct *conn,char *jobname);
void print_fsp_end(files_struct *fsp);
+#endif
/*The following definitions come from printing/printing.c */
/*The following definitions come from rpc_client/cli_samr.c */
+#if OLD_NTDOMAIN
BOOL get_samr_query_usergroups(struct cli_state *cli,
POLICY_HND *pol_open_domain, uint32 user_rid,
uint32 *num_groups, DOM_GID *gid);
BOOL do_samr_query_userinfo(struct cli_state *cli,
POLICY_HND *pol, uint16 switch_value, void* usr);
BOOL do_samr_close(struct cli_state *cli, POLICY_HND *hnd);
+#endif
/*The following definitions come from rpc_client/cli_srvsvc.c */
void init_id_info1(NET_ID_INFO_1 *id, char *domain_name,
uint32 param_ctrl, uint32 log_id_low, uint32 log_id_high,
char *user_name, char *wksta_name,
- char sess_key[16],
+ char *sess_key,
unsigned char lm_cypher[16], unsigned char nt_cypher[16]);
void init_id_info2(NET_ID_INFO_2 *id, char *domain_name,
uint32 param_ctrl, uint32 log_id_low, uint32 log_id_high,
DOM_GID *gids,
uint32 user_flgs,
- char sess_key[16],
+ char *sess_key,
char *logon_srv,
char *logon_dom,
/*The following definitions come from rpc_parse/parse_samr.c */
+#if OLD_NTDOMAIN
void init_samr_q_close_hnd(SAMR_Q_CLOSE_HND *q_c, POLICY_HND *hnd);
BOOL samr_io_q_close_hnd(char *desc, SAMR_Q_CLOSE_HND *q_u, prs_struct *ps, int depth);
BOOL samr_io_r_close_hnd(char *desc, SAMR_R_CLOSE_HND *r_u, prs_struct *ps, int depth);
BOOL samr_io_q_chgpasswd_user(char *desc, SAMR_Q_CHGPASSWD_USER *q_u, prs_struct *ps, int depth);
void init_samr_r_chgpasswd_user(SAMR_R_CHGPASSWD_USER *r_u, uint32 status);
BOOL samr_io_r_chgpasswd_user(char *desc, SAMR_R_CHGPASSWD_USER *r_u, prs_struct *ps, int depth);
+#endif
/*The following definitions come from rpc_parse/parse_sec.c */
BOOL spoolss_io_q_getprinterdata(char *desc, SPOOL_Q_GETPRINTERDATA *q_u, prs_struct *ps, int depth);
BOOL spoolss_io_r_getprinterdata(char *desc, SPOOL_R_GETPRINTERDATA *r_u, prs_struct *ps, int depth);
BOOL make_spoolss_q_closeprinter(SPOOL_Q_CLOSEPRINTER *q_u, POLICY_HND *hnd);
+BOOL spoolss_io_q_deleteprinter(char *desc, SPOOL_Q_DELETEPRINTER *q_u, prs_struct *ps, int depth);
+BOOL spoolss_io_r_deleteprinter(char *desc, SPOOL_R_DELETEPRINTER *r_u, prs_struct *ps, int depth);
BOOL spoolss_io_q_closeprinter(char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct *ps, int depth);
BOOL spoolss_io_r_closeprinter(char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct *ps, int depth);
BOOL spoolss_io_q_startdocprinter(char *desc, SPOOL_Q_STARTDOCPRINTER *q_u, prs_struct *ps, int depth);
/*The following definitions come from rpc_server/srv_lsa.c */
+#if OLD_NTDOMAIN
BOOL api_ntlsa_rpc(pipes_struct *p, prs_struct *data);
+#endif
/*The following definitions come from rpc_server/srv_lsa_hnd.c */
+#if OLD_NTDOMAIN
void init_lsa_policy_hnd(void);
BOOL open_lsa_policy_hnd(POLICY_HND *hnd);
int find_lsa_policy_by_hnd(POLICY_HND *hnd);
uint32 get_lsa_policy_samr_rid(POLICY_HND *hnd);
BOOL set_lsa_policy_reg_name(POLICY_HND *hnd, fstring name);
BOOL close_lsa_policy_hnd(POLICY_HND *hnd);
+#endif
/*The following definitions come from rpc_server/srv_netlog.c */
+#if OLD_NTDOMAIN
BOOL api_netlog_rpc(pipes_struct *p, prs_struct *data);
+#endif
/*The following definitions come from rpc_server/srv_pipe.c */
+#if OLD_NTDOMAIN
BOOL create_next_pdu(pipes_struct *p);
BOOL api_pipe_bind_auth_resp(pipes_struct *p, prs_struct *rpc_in_p);
BOOL setup_fault_pdu(pipes_struct *p);
BOOL api_pipe_request(pipes_struct *p);
BOOL api_rpcTNP(pipes_struct *p, char *rpc_name, struct api_struct *api_rpc_cmds,
prs_struct *rpc_in);
+#endif
/*The following definitions come from rpc_server/srv_pipe_hnd.c */
+#if OLD_NTDOMAIN
void set_pipe_handle_offset(int max_open_files);
void reset_chain_p(void);
void init_rpc_pipe_hnd(void);
BOOL close_rpc_pipe_hnd(pipes_struct *p, connection_struct *conn);
pipes_struct *get_rpc_pipe_p(char *buf, int where);
pipes_struct *get_rpc_pipe(int pnum);
+#endif
/*The following definitions come from rpc_server/srv_reg.c */
+#if OLD_NTDOMAIN
BOOL api_reg_rpc(pipes_struct *p, prs_struct *data);
+#endif
/*The following definitions come from rpc_server/srv_samr.c */
+#if OLD_NTDOMAIN
BOOL api_samr_rpc(pipes_struct *p, prs_struct *data);
+#endif
/*The following definitions come from rpc_server/srv_spoolss.c */
+#if OLD_NTDOMAIN
BOOL api_spoolss_rpc(pipes_struct *p, prs_struct *data);
+#endif
/*The following definitions come from rpc_server/srv_spoolss_nt.c */
uint32 user_switch, SPOOL_USER_CTR user_ctr,
POLICY_HND *handle);
uint32 _spoolss_closeprinter(POLICY_HND *handle);
+uint32 _spoolss_deleteprinter(POLICY_HND *handle);
uint32 _spoolss_getprinterdata(const POLICY_HND *handle, UNISTR2 *valuename,
uint32 in_size,
uint32 *type,
/*The following definitions come from rpc_server/srv_srvsvc.c */
+#if OLD_NTDOMAIN
BOOL api_srvsvc_rpc(pipes_struct *p, prs_struct *data);
+#endif
/*The following definitions come from rpc_server/srv_util.c */
+#if OLD_NTDOMAIN
int make_dom_gids(char *gids_str, DOM_GID **ppgids);
void get_domain_user_groups(char *domain_groups, char *user);
uint32 lookup_group_name(uint32 rid, char *group_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);
+#endif
/*The following definitions come from rpc_server/srv_wkssvc.c */
+#if OLD_NTDOMAIN
BOOL api_wkssvc_rpc(pipes_struct *p, prs_struct *data);
+#endif
/*The following definitions come from rpcclient/cmd_lsarpc.c */
/*The following definitions come from smbd/blocking.c */
+#if OLD_NTDOMAIN
BOOL push_blocking_lock_request( char *inbuf, int length, int lock_timeout, int lock_num);
void remove_pending_lock_requests_by_fid(files_struct *fsp);
void remove_pending_lock_requests_by_mid(int mid);
BOOL blocking_locks_pending(void);
void process_blocking_lock_queue(time_t t);
+#endif
/*The following definitions come from smbd/chgpasswd.c */
+#if OLD_NTDOMAIN
BOOL chgpasswd(char *name, char *oldpass, char *newpass, BOOL as_root);
BOOL chgpasswd(char *name, char *oldpass, char *newpass, BOOL as_root);
BOOL check_lanman_password(char *user, uchar * pass1,
BOOL override);
BOOL check_plaintext_password(char *user, char *old_passwd,
int old_passwd_size, struct smb_passwd **psmbpw);
+#endif
/*The following definitions come from smbd/close.c */
+#if OLD_NTDOMAIN
void close_filestruct(files_struct *fsp);
int close_file(files_struct *fsp, BOOL normal_close);
+#endif
/*The following definitions come from smbd/conn.c */
+#if OLD_NTDOMAIN
void conn_init(void);
int conn_num_open(void);
BOOL conn_snum_used(int snum);
void conn_close_all(void);
BOOL conn_idle_all(time_t t, int deadtime);
void conn_free(connection_struct *conn);
+#endif
/*The following definitions come from smbd/connection.c */
/*The following definitions come from smbd/dir.c */
+#if OLD_NTDOMAIN
void init_dptrs(void);
char *dptr_path(int key);
char *dptr_wcard(int key);
void DirCacheAdd( char *path, char *name, char *dname, int snum );
char *DirCacheCheck( char *path, char *name, int snum );
void DirCacheFlush(int snum);
+#endif
/*The following definitions come from smbd/dosmode.c */
+#if OLD_NTDOMAIN
mode_t unix_mode(connection_struct *conn,int dosmode,const char *fname);
int dos_mode(connection_struct *conn,char *path,SMB_STRUCT_STAT *sbuf);
int file_chmod(connection_struct *conn,char *fname,int dosmode,SMB_STRUCT_STAT *st);
int file_utime(connection_struct *conn, char *fname, struct utimbuf *times);
BOOL set_filetime(connection_struct *conn, char *fname, time_t mtime);
+#endif
/*The following definitions come from smbd/error.c */
+#if OLD_NTDOMAIN
int cached_error_packet(char *inbuf,char *outbuf,files_struct *fsp,int line);
int unix_error_packet(char *inbuf,char *outbuf,int def_class,uint32 def_code,int line);
int error_packet(char *inbuf,char *outbuf,int error_class,uint32 error_code,int line);
+#endif
/*The following definitions come from smbd/fileio.c */
+#if OLD_NTDOMAIN
SMB_OFF_T seek_file(files_struct *fsp,SMB_OFF_T pos);
BOOL read_from_write_cache(files_struct *fsp,char *data,SMB_OFF_T pos,size_t n);
ssize_t read_file(files_struct *fsp,char *data,SMB_OFF_T pos,size_t n);
void delete_write_cache(files_struct *fsp);
void set_filelen_write_cache(files_struct *fsp, SMB_OFF_T file_size);
ssize_t flush_write_cache(files_struct *fsp, enum flush_reason_enum reason);
-void sys_fsync_file(connection_struct *conn, files_struct *fsp);
+void sync_file(connection_struct *conn, files_struct *fsp);
+#endif
/*The following definitions come from smbd/filename.c */
+#if OLD_NTDOMAIN
BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
BOOL *bad_path, SMB_STRUCT_STAT *pst);
BOOL check_name(char *name,connection_struct *conn);
+#endif
/*The following definitions come from smbd/files.c */
+#if OLD_NTDOMAIN
files_struct *file_new(void );
void file_close_conn(connection_struct *conn);
void file_init(void);
void file_chain_reset(void);
void file_chain_save(void);
void file_chain_restore(void);
+#endif
/*The following definitions come from smbd/ipc.c */
+#if OLD_NTDOMAIN
void send_trans_reply(char *outbuf,
char *rparam, int rparam_len,
char *rdata, int rdata_len,
BOOL buffer_too_large);
int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int bufsize);
+#endif
/*The following definitions come from smbd/lanman.c */
+#if OLD_NTDOMAIN
int api_reply(connection_struct *conn,uint16 vuid,char *outbuf,char *data,char *params,
int tdscnt,int tpscnt,int mdrcnt,int mprcnt);
+#endif
/*The following definitions come from smbd/mangle.c */
/*The following definitions come from smbd/message.c */
+#if OLD_NTDOMAIN
int reply_sends(connection_struct *conn,
char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
int reply_sendstrt(connection_struct *conn,
char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
int reply_sendend(connection_struct *conn,
char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
+#endif
/*The following definitions come from smbd/negprot.c */
+#if OLD_NTDOMAIN
int reply_negprot(connection_struct *conn,
char *inbuf,char *outbuf, int dum_size,
int dum_buffsize);
+#endif
/*The following definitions come from smbd/noquotas.c */
/*The following definitions come from smbd/nttrans.c */
+#if OLD_NTDOMAIN
void fail_next_srvsvc_open(void);
BOOL should_fail_next_srvsvc_open(const char *pipename);
int reply_ntcreate_and_X(connection_struct *conn,
BOOL change_notifies_pending(void);
int reply_nttrans(connection_struct *conn,
char *inbuf,char *outbuf,int length,int bufsize);
+#endif
/*The following definitions come from smbd/open.c */
+#if OLD_NTDOMAIN
int fd_close(struct connection_struct *conn, files_struct *fsp);
files_struct *open_file_shared(connection_struct *conn,char *fname,int share_mode,int ofun,
mode_t mode,int oplock_request, int *Access,int *action);
files_struct *open_directory(connection_struct *conn,
char *fname, int smb_ofun, mode_t unixmode, int *action);
BOOL check_file_sharing(connection_struct *conn,char *fname, BOOL rename_op);
+#endif
/*The following definitions come from smbd/oplock.c */
+#if OLD_NTDOMAIN
int32 get_number_of_exclusive_open_oplocks(void);
BOOL setup_kernel_oplock_pipe(void);
BOOL open_oplock_ipc(void);
SMB_DEV_T dev, SMB_INO_T inode);
BOOL attempt_close_oplocked_file(files_struct *fsp);
void check_kernel_oplocks(void);
+#endif
/*The following definitions come from smbd/password.c */
+#if OLD_NTDOMAIN
void generate_next_challenge(char *challenge);
BOOL set_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, uid_t uid, gid_t gid, int *p_ngroups, gid_t **p_groups);
-uint16 register_vuid(uid_t uid,gid_t gid, char *unix_name, char *requested_name, BOOL guest);
+char *validated_domain(uint16 vuid);
+int setup_groups(char *user, char *domain,
+ uid_t uid, gid_t gid, int *p_ngroups, gid_t **p_groups);
+uint16 register_vuid(uid_t uid,gid_t gid, char *unix_name, char *requested_name,
+ char *domain,BOOL guest);
void add_session_user(char *user);
BOOL smb_password_check(char *password, unsigned char *part_passwd, unsigned char *c8);
BOOL smb_password_ok(struct smb_passwd *smb_pass, uchar chal[8],
char *smb_apasswd, int smb_apasslen,
char *smb_ntpasswd, int smb_ntpasslen,
BOOL *user_exists);
+#endif
/*The following definitions come from smbd/pipes.c */
+#if OLD_NTDOMAIN
int reply_open_pipe_and_X(connection_struct *conn,
char *inbuf,char *outbuf,int length,int bufsize);
int reply_pipe_write(char *inbuf,char *outbuf,int length,int dum_bufsize);
int reply_pipe_write_and_X(char *inbuf,char *outbuf,int length,int bufsize);
int reply_pipe_read_and_X(char *inbuf,char *outbuf,int length,int bufsize);
int reply_pipe_close(connection_struct *conn, char *inbuf,char *outbuf);
+#endif
/*The following definitions come from smbd/process.c */
+#if OLD_NTDOMAIN
BOOL push_oplock_pending_smb_message(char *buf, int msg_len);
BOOL receive_next_smb(char *inbuf, int bufsize, int timeout);
void respond_to_all_remaining_local_messages(void);
int chain_reply(char *inbuf,char *outbuf,int size,int bufsize);
void check_reload(int t);
void smbd_process(void);
+#endif
/*The following definitions come from smbd/reply.c */
+#if OLD_NTDOMAIN
int reply_special(char *inbuf,char *outbuf);
int reply_tcon(connection_struct *conn,
char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
int reply_writebs(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize);
int reply_setattrE(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize);
int reply_getattrE(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize);
+#endif
/*The following definitions come from smbd/server.c */
+#if OLD_NTDOMAIN
int smbd_server_fd(void);
void smbd_set_server_fd(int fd);
BOOL reload_services(BOOL test);
void exit_server(char *reason);
+#endif
/*The following definitions come from smbd/service.c */
+#if OLD_NTDOMAIN
BOOL become_service(connection_struct *conn,BOOL do_chdir);
int find_service(char *service);
connection_struct *make_connection(char *service,char *user,char *password, int pwlen, char *dev,uint16 vuid, int *ecode);
void close_cnum(connection_struct *conn, uint16 vuid);
+#endif
/*The following definitions come from smbd/ssl.c */
/*The following definitions come from smbd/trans2.c */
+#if OLD_NTDOMAIN
int reply_findclose(connection_struct *conn,
char *inbuf,char *outbuf,int length,int bufsize);
int reply_findnclose(connection_struct *conn,
char *inbuf,char *outbuf,int length,int bufsize);
int reply_trans2(connection_struct *conn,
char *inbuf,char *outbuf,int length,int bufsize);
+#endif
/*The following definitions come from smbd/uid.c */
+#if OLD_NTDOMAIN
void init_uid(void);
BOOL become_guest(void);
BOOL become_user(connection_struct *conn, uint16 vuid);
BOOL unbecome_authenticated_pipe_user(pipes_struct *p);
void become_root(BOOL save_dir) ;
void unbecome_root(BOOL restore_dir);
+#endif
/*The following definitions come from smbd/vfs-wrap.c */
int vfswrap_chmod(char *path, mode_t mode);
int vfswrap_utime(char *path, struct utimbuf *times);
int vfswrap_ftruncate(int fd, SMB_OFF_T offset);
+BOOL vfswrap_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type);
/*The following definitions come from smbd/vfs.c */
int tdb_get_int(TDB_CONTEXT *tdb, char *keystr);
int tdb_store_int_byblob(TDB_CONTEXT *tdb, char *keystr, size_t len, int v);
int tdb_store_int(TDB_CONTEXT *tdb, char *keystr, int v);
+int tdb_store_by_string(TDB_CONTEXT *tdb, char *keystr, void *buffer, int len);
+TDB_DATA tdb_fetch_by_string(TDB_CONTEXT *tdb, char *keystr);
/*The following definitions come from utils/nbio.c */