Added init_nt_time function which initialises an NTTIME to -1.
[samba.git] / source3 / include / proto.h
index e8d232645a14673f47247b64b7b1d3092173fd0a..c3843814f8e23839fb866f570007e0ff90fd3296 100644 (file)
@@ -6,7 +6,7 @@
 /*The following definitions come from  client/client.c  */
 
 void do_list(const char *mask,uint16 attribute,void (*fn)(file_info *),BOOL rec, BOOL dirs);
-struct cli_state *do_connect(char *server, char *share);
+struct cli_state *do_connect(char *server, char *share, int smb_port);
 
 /*The following definitions come from  client/clitar.c  */
 
@@ -172,6 +172,7 @@ void reopen_logs( void );
 void force_check_log_size( void );
 void dbgflush( void );
 BOOL dbghdr( int level, char *file, char *func, int line );
+dbg_Token dbg_char2token( dbg_Token *state, int c );
 
 /*The following definitions come from  lib/domain_namemap.c  */
 
@@ -340,6 +341,7 @@ struct tm *LocalTime(time_t *t);
 time_t nt_time_to_unix(NTTIME *nt);
 time_t interpret_long_date(char *p);
 void unix_to_nt_time(NTTIME *nt, time_t t);
+void init_nt_time(NTTIME *nt);
 void put_long_date(char *p,time_t t);
 BOOL null_mtime(time_t mtime);
 void put_dos_date(char *buf,int offset,time_t unixdate);
@@ -373,6 +375,7 @@ BOOL user_in_list(char *user,char *list);
 
 /*The following definitions come from  lib/util.c  */
 
+BOOL init_myworkgroup(void);
 char *tmpdir(void);
 BOOL in_group(gid_t group, gid_t current_gid, int ngroups, gid_t *groups);
 uint32 get_number(const char *tmp);
@@ -487,7 +490,6 @@ void pwdb_set_must_change_time(char *p, int max_len, time_t t);
 void pwdb_set_last_set_time(char *p, int max_len, time_t t);
 void pwdb_sethexpwd(char *p, const char *pwd, uint16 acct_ctrl);
 BOOL pwdb_gethexpwd(const char *p, char *pwd);
-BOOL pwdb_init_myworkgroup(void);
 BOOL pwdb_initialise(BOOL is_server);
 
 /*The following definitions come from  lib/util_sid.c  */
@@ -574,6 +576,7 @@ int unistrcpy(char *dst, char *src);
 
 /*The following definitions come from  libsmb/clientgen.c  */
 
+int cli_set_port(struct cli_state *cli, int port);
 char *cli_errstr(struct cli_state *cli);
 BOOL cli_api_pipe(struct cli_state *cli, char *pipe_name, int pipe_name_len,
                   uint16 *setup, uint32 setup_count, uint32 max_setup_count,
@@ -1374,13 +1377,14 @@ BOOL pm_process( char *FileName,
 
 /*The following definitions come from  passdb/ldap.c  */
 
-BOOL ldap_open_connection(BOOL modify);
-void ldap_close_connection(void);
+BOOL ldap_connect(void);
+void ldap_disconnect(void);
 BOOL ldap_search_for(char *filter);
 BOOL ldap_search_by_name(const char *user);
 BOOL ldap_search_by_uid(int uid);
 BOOL ldap_get_attribute(char *attribute, char *value);
 struct smb_passwd *ldap_getpw(void);
+BOOL ldap_allocaterid(uint32 *rid);
 struct smb_passdb_ops *ldap_initialise_password_db(void);
 
 /*The following definitions come from  passdb/nispass.c  */
@@ -1549,12 +1553,14 @@ BOOL lsa_lookup_names(struct cli_state *cli, uint16 fnum,
                        int num_names,
                        const char **names,
                        DOM_SID **sids,
+                       uint8 **types,
                        int *num_sids);
 BOOL lsa_lookup_sids(struct cli_state *cli, uint16 fnum,
                        POLICY_HND *hnd,
                        int num_sids,
                        DOM_SID **sids,
                        char ***names,
+                       uint8 **types,
                        int *num_names);
 BOOL lsa_query_info_pol(struct cli_state *cli, uint16 fnum,
                        POLICY_HND *hnd, uint16 info_class,
@@ -1674,7 +1680,7 @@ BOOL samr_enum_dom_aliases(struct cli_state *cli, uint16 fnum,
                                struct acct_info **sam,
                                int *num_sam_aliases);
 BOOL samr_enum_dom_users(struct cli_state *cli, uint16 fnum, 
-                               POLICY_HND *pol, uint16 num_entries, uint16 unk_0,
+                               POLICY_HND *pol, uint32 start_idx, 
                                uint16 acb_mask, uint16 unk_1, uint32 size,
                                struct acct_info **sam,
                                int *num_sam_users);
@@ -1773,16 +1779,26 @@ BOOL do_srv_net_srv_get_info(struct cli_state *cli, uint16 fnum,
 
 /*The following definitions come from  rpc_client/cli_svcctl.c  */
 
-BOOL do_svc_open_sc_man(struct cli_state *cli, uint16 fnum, 
+BOOL svc_open_sc_man(struct cli_state *cli, uint16 fnum, 
                                char *srv_name, char *db_name,
                                uint32 des_access,
                                POLICY_HND *hnd);
-BOOL do_svc_enum_svcs(struct cli_state *cli, uint16 fnum, 
+BOOL svc_open_service(struct cli_state *cli, uint16 fnum, 
+                               POLICY_HND *scm_hnd,
+                               char *srv_name,
+                               uint32 des_access,
+                               POLICY_HND *hnd);
+BOOL svc_enum_svcs(struct cli_state *cli, uint16 fnum, 
                                POLICY_HND *hnd,
                                uint32 services_type, uint32 services_state,
-                               uint32 buf_size, uint32 *resume_hnd,
-                               ENUM_SRVC_STATUS **svcs);
-BOOL do_svc_close(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd);
+                               uint32 *buf_size, uint32 *resume_hnd,
+                               uint32 *dos_error,
+                               ENUM_SRVC_STATUS **svcs, uint32 *num_svcs);
+BOOL svc_query_svc_cfg(struct cli_state *cli, uint16 fnum,
+                               POLICY_HND *hnd,
+                               QUERY_SERVICE_CONFIG *cfg,
+                               uint32 *buf_size);
+BOOL svc_close(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd);
 
 /*The following definitions come from  rpc_client/cli_wkssvc.c  */
 
@@ -2166,7 +2182,7 @@ void make_samr_r_unknown_3(SAMR_R_UNKNOWN_3 *r_u,
                                uint32 status);
 void samr_io_r_unknown_3(char *desc,  SAMR_R_UNKNOWN_3 *r_u, prs_struct *ps, int depth);
 void make_samr_q_enum_dom_users(SAMR_Q_ENUM_DOM_USERS *q_e, POLICY_HND *pol,
-                               uint16 req_num_entries, uint16 unk_0,
+                               uint32 start_idx, 
                                uint16 acb_mask, uint16 unk_1, uint32 size);
 void samr_io_q_enum_dom_users(char *desc,  SAMR_Q_ENUM_DOM_USERS *q_e, prs_struct *ps, int depth);
 void make_samr_r_enum_dom_users(SAMR_R_ENUM_DOM_USERS *r_u,
@@ -2504,6 +2520,22 @@ void svc_io_q_open_sc_man(char *desc, SVC_Q_OPEN_SC_MAN *q_u, prs_struct *ps, in
 void make_svc_r_open_sc_man(SVC_R_OPEN_SC_MAN *r_u, POLICY_HND *hnd,
                                uint32 status)  ;
 void svc_io_r_open_sc_man(char *desc,  SVC_R_OPEN_SC_MAN *r_u, prs_struct *ps, int depth);
+void make_svc_q_open_service(SVC_Q_OPEN_SERVICE *q_u,
+                               POLICY_HND *hnd,
+                               char *server,
+                               uint32 des_access)  ;
+void svc_io_q_open_service(char *desc, SVC_Q_OPEN_SERVICE *q_u, prs_struct *ps, int depth);
+void make_svc_r_open_service(SVC_R_OPEN_SERVICE *r_u, POLICY_HND *hnd,
+                               uint32 status)  ;
+void svc_io_r_open_service(char *desc,  SVC_R_OPEN_SERVICE *r_u, prs_struct *ps, int depth);
+void make_svc_query_svc_cfg(QUERY_SERVICE_CONFIG *q_u,
+                               uint32 service_type, uint32 start_type,
+                               uint32 error_control,
+                               char* bin_path_name, char* load_order_grp, 
+                               uint32 tag_id,
+                               char* dependencies, char* service_start_name,
+                               char* disp_name);
+void svc_io_query_svc_cfg(char *desc, QUERY_SERVICE_CONFIG *q_u, prs_struct *ps, int depth);
 void make_svc_q_enum_svcs_status(SVC_Q_ENUM_SVCS_STATUS *q_c, POLICY_HND *hnd,
                                uint32 service_type, uint32 service_state,
                                uint32 buf_size, uint32 resume_hnd );
@@ -2514,6 +2546,13 @@ void make_svc_r_enum_svcs_status(SVC_R_ENUM_SVCS_STATUS *r_c,
                                uint32 dos_status);
 void svc_io_r_enum_svcs_status(char *desc, SVC_R_ENUM_SVCS_STATUS *svc, prs_struct *ps, int depth);
 void svc_io_svc_status(char *desc,  SVC_STATUS *svc, prs_struct *ps, int depth);
+void make_svc_q_query_svc_config(SVC_Q_QUERY_SVC_CONFIG *q_c, POLICY_HND *hnd,
+                               uint32 buf_size);
+void svc_io_q_query_svc_config(char *desc,  SVC_Q_QUERY_SVC_CONFIG *q_u, prs_struct *ps, int depth);
+void make_svc_r_query_svc_config(SVC_R_QUERY_SVC_CONFIG *r_c, 
+                               QUERY_SERVICE_CONFIG *cfg,
+                               uint32 buf_size);
+void svc_io_r_query_svc_config(char *desc,  SVC_R_QUERY_SVC_CONFIG *r_u, prs_struct *ps, int depth);
 void make_svc_q_close(SVC_Q_CLOSE *q_c, POLICY_HND *hnd);
 void svc_io_q_close(char *desc,  SVC_Q_CLOSE *q_u, prs_struct *ps, int depth);
 void svc_io_r_close(char *desc,  SVC_R_CLOSE *r_u, prs_struct *ps, int depth);
@@ -2741,6 +2780,10 @@ void display_reg_value_info(FILE *out_hnd, enum action_type action,
                                char *val_name, uint32 val_type, BUFFER2 *value);
 void display_reg_key_info(FILE *out_hnd, enum action_type action,
                                char *key_name, time_t key_mod_time);
+char *get_svc_start_type_str(uint32 type);
+void display_query_svc_cfg(FILE *out_hnd, enum action_type action,
+                               QUERY_SERVICE_CONFIG *cfg);
+void display_svc_info(FILE *out_hnd, enum action_type action, ENUM_SRVC_STATUS *svc);
 
 /*The following definitions come from  rpcclient/rpcclient.c  */