/* The following definitions come from lib/secdesc.c */
uint32_t get_sec_info(const SEC_DESC *sd);
-SEC_DESC_BUF *sec_desc_merge(TALLOC_CTX *ctx, SEC_DESC_BUF *new_sdb, SEC_DESC_BUF *old_sdb);
+SEC_DESC *sec_desc_merge(TALLOC_CTX *ctx, SEC_DESC *new_sdb, SEC_DESC *old_sdb);
+SEC_DESC_BUF *sec_desc_merge_buf(TALLOC_CTX *ctx, SEC_DESC_BUF *new_sdb, SEC_DESC_BUF *old_sdb);
SEC_DESC *make_sec_desc(TALLOC_CTX *ctx,
enum security_descriptor_revision revision,
uint16 type,
struct passwd *getpwnam_alloc(TALLOC_CTX *mem_ctx, const char *name);
struct passwd *getpwuid_alloc(TALLOC_CTX *mem_ctx, uid_t uid) ;
-/* The following definitions come from lib/util_reg.c */
+/* The following definitions come from ..libcli/registry/util_reg.c */
-const char *reg_type_lookup(enum winreg_Type type);
+const char *str_regtype(int type);
bool push_reg_sz(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *ic,
DATA_BLOB *blob, const char *s);
bool push_reg_multi_sz(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *ic,
uint32_t flags);
-#include "librpc/gen_ndr/ndr_dfs.h"
-#include "librpc/gen_ndr/ndr_dssetup.h"
-#include "librpc/gen_ndr/ndr_echo.h"
-#include "librpc/gen_ndr/ndr_eventlog.h"
#include "librpc/gen_ndr/ndr_krb5pac.h"
-#include "librpc/gen_ndr/ndr_lsa.h"
-#include "librpc/gen_ndr/ndr_misc.h"
-#include "librpc/gen_ndr/ndr_netlogon.h"
-#include "librpc/gen_ndr/ndr_notify.h"
-#include "librpc/gen_ndr/ndr_ntsvcs.h"
-#include "librpc/gen_ndr/ndr_samr.h"
-#include "librpc/gen_ndr/ndr_security.h"
-#include "librpc/gen_ndr/ndr_srvsvc.h"
-#include "librpc/gen_ndr/ndr_svcctl.h"
-#include "librpc/gen_ndr/ndr_winreg.h"
-#include "librpc/gen_ndr/ndr_wkssvc.h"
-#include "librpc/gen_ndr/ndr_drsuapi.h"
#include "librpc/gen_ndr/ndr_spoolss.h"
-#include "librpc/gen_ndr/ndr_initshutdown.h"
-
-#include "librpc/ndr/libndr.h"
/* The following definitions come from librpc/ndr/util.c */
NT_DEVICEMODE *construct_nt_devicemode(const fstring default_devicename);
void free_nt_devicemode(NT_DEVICEMODE **devmode_ptr);
int unpack_devicemode(NT_DEVICEMODE **nt_devmode, const uint8 *buf, int buflen);
+WERROR spoolss_create_default_devmode(TALLOC_CTX *mem_ctx,
+ const char *devicename,
+ struct spoolss_DeviceMode **devmode);
+WERROR spoolss_create_default_secdesc(TALLOC_CTX *mem_ctx,
+ struct spoolss_security_descriptor **secdesc);
int add_new_printer_key( NT_PRINTER_DATA *data, const char *name );
int delete_printer_key( NT_PRINTER_DATA *data, const char *name );
int lookup_printerkey( NT_PRINTER_DATA *data, const char *name );
int print_job_fd(const char* sharename, uint32 jobid);
char *print_job_fname(const char* sharename, uint32 jobid);
NT_DEVICEMODE *print_job_devmode(const char* sharename, uint32 jobid);
-bool print_job_set_place(const char *sharename, uint32 jobid, int place);
-bool print_job_set_name(const char *sharename, uint32 jobid, char *name);
+bool print_job_set_name(const char *sharename, uint32 jobid, const char *name);
+bool print_job_get_name(TALLOC_CTX *mem_ctx, const char *sharename, uint32_t jobid, char **name);
bool print_job_delete(struct auth_serversupplied_info *server_info, int snum,
uint32 jobid, WERROR *errcode);
bool print_job_pause(struct auth_serversupplied_info *server_info, int snum,
uint32 auth_context_id);
bool smb_io_rpc_hdr_auth(const char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int depth);
-/* The following definitions come from lib/eventlog/eventlog.c */
-
-TDB_CONTEXT *elog_init_tdb( char *tdbfilename );
-char *elog_tdbname(TALLOC_CTX *ctx, const char *name );
-int elog_tdb_size( TDB_CONTEXT * tdb, int *MaxSize, int *Retention );
-bool prune_eventlog( TDB_CONTEXT * tdb );
-ELOG_TDB *elog_open_tdb( const char *logname, bool force_clear, bool read_only );
-int elog_close_tdb( ELOG_TDB *etdb, bool force_close );
-bool parse_logentry( TALLOC_CTX *mem_ctx, char *line, struct eventlog_Record_tdb *entry, bool * eor );
-size_t fixup_eventlog_record_tdb(struct eventlog_Record_tdb *r);
-struct eventlog_Record_tdb *evlog_pull_record_tdb(TALLOC_CTX *mem_ctx,
- TDB_CONTEXT *tdb,
- uint32_t record_number);
-NTSTATUS evlog_push_record_tdb(TALLOC_CTX *mem_ctx,
- TDB_CONTEXT *tdb,
- struct eventlog_Record_tdb *r,
- uint32_t *record_number);
-NTSTATUS evlog_push_record(TALLOC_CTX *mem_ctx,
- TDB_CONTEXT *tdb,
- struct EVENTLOGRECORD *r,
- uint32_t *record_number);
-struct EVENTLOGRECORD *evlog_pull_record(TALLOC_CTX *mem_ctx,
- TDB_CONTEXT *tdb,
- uint32_t record_number);
-NTSTATUS evlog_evt_entry_to_tdb_entry(TALLOC_CTX *mem_ctx,
- const struct EVENTLOGRECORD *e,
- struct eventlog_Record_tdb *t);
-NTSTATUS evlog_tdb_entry_to_evt_entry(TALLOC_CTX *mem_ctx,
- const struct eventlog_Record_tdb *t,
- struct EVENTLOGRECORD *e);
-NTSTATUS evlog_convert_tdb_to_evt(TALLOC_CTX *mem_ctx,
- ELOG_TDB *etdb,
- DATA_BLOB *blob_p,
- uint32_t *num_records_p);
-
/* The following definitions come from rpc_server/srv_eventlog_nt.c */
/* The following definitions come from rpc_server/srv_lsa_hnd.c */
WERROR set_printer_dataex(NT_PRINTER_INFO_LEVEL *printer,
const char *key, const char *value,
uint32_t type, uint8_t *data, int real_len);
-void spoolss_notify_server_name(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_printer_name(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_share_name(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_port_name(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_driver_name(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_comment(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_location(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_sepfile(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_print_processor(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_parameters(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_datatype(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_attributes(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void spoolss_notify_cjobs(int snum,
- struct spoolss_Notify *data,
- print_queue_struct *queue,
- NT_PRINTER_INFO_LEVEL *printer,
- TALLOC_CTX *mem_ctx);
-void construct_info_data(struct spoolss_Notify *info_data,
- enum spoolss_NotifyType type,
- uint16_t field,
- int id);
struct spoolss_DeviceMode *construct_dev_mode(TALLOC_CTX *mem_ctx,
const char *servicename);
bool add_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, NT_PRINTER_INFO_LEVEL *printer);
/* The following definitions come from smbd/blocking.c */
+void brl_timeout_fn(struct event_context *event_ctx,
+ struct timed_event *te,
+ struct timeval now,
+ void *private_data);
+struct timeval timeval_brl_min(const struct timeval *tv1,
+ const struct timeval *tv2);
void process_blocking_lock_queue(void);
bool push_blocking_lock_request( struct byte_range_lock *br_lck,
struct smb_request *req,
uint64_t count,
uint32 blocking_pid);
void cancel_pending_lock_requests_by_fid(files_struct *fsp, struct byte_range_lock *br_lck);
-void remove_pending_lock_requests_by_mid(uint64_t mid);
-bool blocking_lock_was_deferred(uint64_t mid);
-struct blocking_lock_record *blocking_lock_cancel(files_struct *fsp,
+void remove_pending_lock_requests_by_mid_smb1(uint64_t mid);
+bool blocking_lock_was_deferred_smb1(uint64_t mid);
+struct blocking_lock_record *blocking_lock_cancel_smb1(files_struct *fsp,
uint32 lock_pid,
uint64_t offset,
uint64_t count,
char *params, int paramsize,
char *pdata, int datasize);
void reply_ntcreate_and_X(struct smb_request *req);
+NTSTATUS set_sd(files_struct *fsp, uint8_t *data, uint32_t sd_len,
+ uint32_t security_info_sent);
struct ea_list *read_nttrans_ea_list(TALLOC_CTX *ctx, const char *pdata, size_t data_size);
void reply_ntcancel(struct smb_request *req);
void reply_ntrename(struct smb_request *req);