Finally committing my LDAP changes.
[samba.git] / source3 / include / proto.h
index ae77d053ea8087b106673b01f48d41e357ef9c00..ee92f62c231a1312646c32114355180860d9baf3 100644 (file)
@@ -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  */
 
@@ -373,6 +374,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);
@@ -746,6 +748,7 @@ BOOL make_oem_passwd_hash(char data[516], const char *passwd, uchar old_pw_hash[
 
 /*The following definitions come from  libsmb/smberr.c  */
 
+char *smb_err_msg(uint8 class, uint32 num);
 char *smb_errstr(char *inbuf);
 
 /*The following definitions come from  locking/locking.c  */
@@ -1372,13 +1375,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();
+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  */
@@ -1547,12 +1551,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,
@@ -1769,6 +1775,19 @@ BOOL do_srv_net_srv_file_enum(struct cli_state *cli, uint16 fnum,
 BOOL do_srv_net_srv_get_info(struct cli_state *cli, uint16 fnum,
                        char *server_name, uint32 switch_value, SRV_INFO_CTR *ctr);
 
+/*The following definitions come from  rpc_client/cli_svcctl.c  */
+
+BOOL do_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, 
+                               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);
+
 /*The following definitions come from  rpc_client/cli_wkssvc.c  */
 
 BOOL do_wks_query_info(struct cli_state *cli, uint16 fnum, 
@@ -2482,12 +2501,45 @@ void srv_io_r_net_remote_tod(char *desc, SRV_R_NET_REMOTE_TOD *r_n, prs_struct *
 
 /*The following definitions come from  rpc_parse/parse_svc.c  */
 
-void make_svc_q_open_policy(SVC_Q_OPEN_POLICY *q_u,
-                               char *server, uint16 unknown)  ;
-void svc_io_q_open_policy(char *desc, SVC_Q_OPEN_POLICY *q_u, prs_struct *ps, int depth);
-void make_svc_r_open_policy(SVC_R_OPEN_POLICY *r_u, POLICY_HND *hnd,
+void make_svc_q_open_sc_man(SVC_Q_OPEN_SC_MAN *q_u,
+                               char *server, char *database,
+                               uint32 des_access)  ;
+void svc_io_q_open_sc_man(char *desc, SVC_Q_OPEN_SC_MAN *q_u, prs_struct *ps, int depth);
+void make_svc_r_open_sc_man(SVC_R_OPEN_SC_MAN *r_u, POLICY_HND *hnd,
                                uint32 status)  ;
-void svc_io_r_open_policy(char *desc,  SVC_R_OPEN_POLICY *r_u, prs_struct *ps, int depth);
+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 );
+void svc_io_q_enum_svcs_status(char *desc,  SVC_Q_ENUM_SVCS_STATUS *q_u, prs_struct *ps, int depth);
+void make_svc_r_enum_svcs_status(SVC_R_ENUM_SVCS_STATUS *r_c, 
+                               ENUM_SRVC_STATUS *svcs, uint32 more_buf_size,
+                               uint32 num_svcs, uint32 resume_hnd,
+                               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, 
+                               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);
@@ -2637,6 +2689,10 @@ void cmd_srv_enum_shares(struct client_info *info);
 void cmd_srv_enum_sess(struct client_info *info);
 void cmd_srv_enum_files(struct client_info *info);
 
+/*The following definitions come from  rpcclient/cmd_svcctl.c  */
+
+void cmd_svc_enum(struct client_info *info);
+
 /*The following definitions come from  rpcclient/cmd_wkssvc.c  */
 
 void cmd_wks_query_info(struct client_info *info);