diff options
Diffstat (limited to 'source3/include/proto.h')
-rw-r--r-- | source3/include/proto.h | 341 |
1 files changed, 145 insertions, 196 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index fc497b6966..156e66d4dc 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -315,11 +315,6 @@ int afs_syscall( int subcall, bool afs_settoken_str(const char *token_string); bool afs_settoken_str(const char *token_string); -/* The following definitions come from lib/arc4.c */ - -void smb_arc4_init(unsigned char arc4_state_out[258], const unsigned char *key, size_t keylen); -void smb_arc4_crypt(unsigned char arc4_state_inout[258], unsigned char *data, size_t len); - /* The following definitions come from lib/audit.c */ const char *audit_category_str(uint32 category); @@ -440,18 +435,6 @@ int connections_forall(int (*fn)(struct db_record *rec, void *private_data); bool connections_init(bool rw); -/* The following definitions come from lib/data_blob.c */ - -DATA_BLOB data_blob(const void *p, size_t length); -DATA_BLOB data_blob_talloc(TALLOC_CTX *mem_ctx, const void *p, size_t length); -void data_blob_free(DATA_BLOB *d); -void data_blob_clear(DATA_BLOB *d); -void data_blob_clear_free(DATA_BLOB *d); -DATA_BLOB data_blob_string_const(const char *str); -DATA_BLOB data_blob_const(const void *p, size_t length); -DATA_BLOB data_blob_talloc_zero(TALLOC_CTX *mem_ctx, size_t length); -_PUBLIC_ char *data_blob_hex_string(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob); - /* The following definitions come from lib/dbwrap_util.c */ int32_t dbwrap_fetch_int32(struct db_context *db, const char *keystr); @@ -491,7 +474,8 @@ void force_check_log_size( void ); bool need_to_check_log_size( void ); void check_log_size( void ); void dbgflush( void ); -bool dbghdr(int level, int cls, const char *file, const char *func, int line); +bool dbghdrclass(int level, int cls, const char *location, const char *func); +bool dbghdr(int level, const char *location, const char *func); TALLOC_CTX *debug_ctx(void); /* The following definitions come from lib/display_sec.c */ @@ -573,7 +557,7 @@ void pull_file_id_16(char *buf, struct file_id *id); /* The following definitions come from lib/fsusage.c */ -int sys_fsusage(const char *path, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); +int sys_fsusage(const char *path, uint64_t *dfree, uint64_t *dsize); /* The following definitions come from lib/gencache.c */ @@ -593,8 +577,8 @@ void gencache_unlock_entry( const char *key ); void set_rand_reseed_callback(void (*fn)(int *)); void set_need_random_reseed(void); -void generate_random_buffer( unsigned char *out, int len); -char *generate_random_str(size_t len); +void generate_random_buffer(uint8_t *out, int len); +char *generate_random_str(TALLOC_CTX *mem_ctx, size_t len); /* The following definitions come from lib/iconv.c */ @@ -786,12 +770,6 @@ int sys_select_intr(int maxfd, fd_set *readfds, fd_set *writefds, fd_set *errorf /* The following definitions come from lib/sendfile.c */ ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T offset, size_t count); -ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T offset, size_t count); -ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T offset, size_t count); -ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T offset, size_t count); -ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T offset, size_t count); -ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T offset, size_t count); -ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T offset, size_t count); /* The following definitions come from lib/server_mutex.c */ @@ -1131,11 +1109,9 @@ void push_dos_date3(uint8_t *buf,int offset,time_t unixdate, int zone_offset); time_t pull_dos_date(const uint8_t *date_ptr, int zone_offset); time_t pull_dos_date2(const uint8_t *date_ptr, int zone_offset); time_t pull_dos_date3(const uint8_t *date_ptr, int zone_offset); -char *http_timestring(time_t t); char *timestring(TALLOC_CTX *mem_ctx, time_t t); const char *nt_time_string(TALLOC_CTX *mem_ctx, NTTIME nt); NTTIME nttime_from_string(const char *s); -int64_t usec_time_diff(struct timeval *tv1, struct timeval *tv2); struct timeval timeval_zero(void); bool timeval_is_zero(const struct timeval *tv); struct timeval timeval_current(void); @@ -1250,10 +1226,12 @@ const char *tmpdir(void); bool add_gid_to_array_unique(TALLOC_CTX *mem_ctx, gid_t gid, gid_t **gids, size_t *num_gids); const char *get_numlist(const char *p, uint32 **num, int *count); -bool file_exist(const char *fname,SMB_STRUCT_STAT *sbuf); +bool file_exist_stat(const char *fname,SMB_STRUCT_STAT *sbuf); +bool file_exist(const char *fname); bool socket_exist(const char *fname); time_t file_modtime(const char *fname); -bool directory_exist(char *dname,SMB_STRUCT_STAT *st); +bool directory_exist_stat(char *dname,SMB_STRUCT_STAT *st); +bool directory_exist(const char *dname); SMB_OFF_T get_file_size(char *file_name); char *attrib_string(uint16 mode); void show_msg(char *buf); @@ -1281,7 +1259,7 @@ void add_to_large_array(TALLOC_CTX *mem_ctx, size_t element_size, void *element, void *_array, uint32 *num_elements, ssize_t *array_size); void safe_free(void *p); -char *get_myname(TALLOC_CTX *ctx); +char *talloc_get_myname(TALLOC_CTX *ctx); char *get_mydnsdomname(TALLOC_CTX *ctx); int interpret_protocol(const char *str,int def); char *automount_lookup(TALLOC_CTX *ctx, const char *user_name); @@ -1309,6 +1287,7 @@ enum remote_arch_types get_remote_arch(void); void print_asc(int level, const unsigned char *buf,int len); void dump_data(int level, const unsigned char *buf1,int len); void dump_data_pw(const char *msg, const uchar * data, size_t len); +void dump_data_skip_zeros(int level, const uint8_t *buf, int len); const char *tab_depth(int level, int depth); int str_checksum(const char *s); void zero_free(void *p, size_t size); @@ -1380,16 +1359,16 @@ const char *strip_hostname(const char *s); /* The following definitions come from lib/util_file.c */ char *fgets_slash(char *s2,int maxlen,XFILE *f); -char *fd_load(int fd, size_t *psize, size_t maxsize); -char *file_load(const char *fname, size_t *size, size_t maxsize); +char *file_load(const char *fname, size_t *size, size_t maxsize, TALLOC_CTX *mem_ctx); +char **file_lines_parse(char *p, size_t size, int *numlines, TALLOC_CTX *mem_ctx); bool unmap_file(void* start, size_t size); -void *map_file(char *fname, size_t size); -char **file_lines_load(const char *fname, int *numlines, size_t maxsize); -char **fd_lines_load(int fd, int *numlines, size_t maxsize); -char **file_lines_pload(char *syscmd, int *numlines); +void *map_file(const char *fname, size_t size); +char **file_lines_load(const char *fname, int *numlines, size_t maxsize, TALLOC_CTX *mem_ctx); +char **fd_lines_load(int fd, int *numlines, size_t maxsize, TALLOC_CTX *mem_ctx); +char **file_lines_pload(const char *syscmd, int *numlines); void file_lines_free(char **lines); void file_lines_slashcont(char **lines); -bool file_save(const char *fname, void *packet, size_t length); +bool file_save(const char *fname, const void *packet, size_t length); /* The following definitions come from lib/util_nscd.c */ @@ -1629,7 +1608,7 @@ char *alpha_strcpy_fn(const char *fn, char *StrnCpy_fn(const char *fn, int line,char *dest,const char *src,size_t n); size_t strhex_to_str(char *buf, size_t buf_len, const char *strhex, size_t strhex_len); DATA_BLOB strhex_to_data_blob(TALLOC_CTX *mem_ctx, const char *strhex); -char *hex_encode(TALLOC_CTX *mem_ctx, const unsigned char *buff_in, size_t len); +char *hex_encode_talloc(TALLOC_CTX *mem_ctx, const unsigned char *buff_in, size_t len); bool in_list(const char *s, const char *list, bool casesensitive); void string_free(char **s); bool string_set(char **dest,const char *src); @@ -1678,9 +1657,9 @@ char *binary_string_rfc2254(char *buf, int len); char *binary_string(char *buf, int len); int fstr_sprintf(fstring s, const char *fmt, ...); char **str_list_make(TALLOC_CTX *mem_ctx, const char *string, const char *sep); -bool str_list_copy(TALLOC_CTX *mem_ctx, char ***dest, const char **src); -bool str_list_compare(char **list1, char **list2); -int str_list_count( const char **list ); +char **str_list_copy(TALLOC_CTX *mem_ctx, const char **list); +bool str_list_equal(const char **list1, const char **list2); +size_t str_list_length( const char * const*list ); bool str_list_sub_basic( char **list, const char *smb_name, const char *domain_name ); bool str_list_substitute(char **list, const char *pattern, const char *insert); @@ -1693,7 +1672,7 @@ void rfc1738_unescape(char *buf); DATA_BLOB base64_decode_data_blob(const char *s); void base64_decode_inplace(char *s); char *base64_encode_data_blob(TALLOC_CTX *mem_ctx, DATA_BLOB data); -SMB_BIG_UINT STR_TO_SMB_BIG_UINT(const char *nptr, const char **entptr); +uint64_t STR_TO_SMB_BIG_UINT(const char *nptr, const char **entptr); SMB_OFF_T conv_str_size(const char * str); void string_append(char **left, const char *right); bool add_string_to_array(TALLOC_CTX *mem_ctx, @@ -1779,9 +1758,6 @@ int islower_ascii(int c); void smb_uuid_pack(const struct GUID uu, UUID_FLAT *ptr); void smb_uuid_unpack(const UUID_FLAT in, struct GUID *uu); -void smb_uuid_generate_random(struct GUID *uu); -const char *smb_uuid_string(TALLOC_CTX *mem_ctx, const struct GUID uu); -bool smb_string_to_uuid(const char *in, struct GUID* uu); char *guid_binstring(const struct GUID *guid); /* The following definitions come from lib/version.c */ @@ -2562,16 +2538,6 @@ _PUBLIC_ void ndr_print_eventlog_WriteClusterEvents(struct ndr_print *ndr, const _PUBLIC_ void ndr_print_eventlog_GetLogIntormation(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_GetLogIntormation *r); _PUBLIC_ void ndr_print_eventlog_FlushEventLog(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_FlushEventLog *r); -/* The following definitions come from librpc/gen_ndr/ndr_initshutdown.c */ - -_PUBLIC_ void ndr_print_initshutdown_String_sub(struct ndr_print *ndr, const char *name, const struct initshutdown_String_sub *r); -_PUBLIC_ enum ndr_err_code ndr_push_initshutdown_String(struct ndr_push *ndr, int ndr_flags, const struct initshutdown_String *r); -_PUBLIC_ enum ndr_err_code ndr_pull_initshutdown_String(struct ndr_pull *ndr, int ndr_flags, struct initshutdown_String *r); -_PUBLIC_ void ndr_print_initshutdown_String(struct ndr_print *ndr, const char *name, const struct initshutdown_String *r); -_PUBLIC_ void ndr_print_initshutdown_Init(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_Init *r); -_PUBLIC_ void ndr_print_initshutdown_Abort(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_Abort *r); -_PUBLIC_ void ndr_print_initshutdown_InitEx(struct ndr_print *ndr, const char *name, int flags, const struct initshutdown_InitEx *r); - /* The following definitions come from librpc/gen_ndr/ndr_krb5pac.c */ _PUBLIC_ void ndr_print_PAC_LOGON_NAME(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_NAME *r); @@ -2665,7 +2631,15 @@ _PUBLIC_ void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name _PUBLIC_ void ndr_print_lsa_DATA_BUF(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF *r); _PUBLIC_ void ndr_print_lsa_DATA_BUF2(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF2 *r); _PUBLIC_ void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print *ndr, const char *name, enum lsa_TrustDomInfoEnum r); +_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustDirection(struct ndr_push *ndr, int ndr_flags, uint32_t r); +_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustDirection(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); +_PUBLIC_ void ndr_print_lsa_TrustDirection(struct ndr_print *ndr, const char *name, uint32_t r); +_PUBLIC_ void ndr_print_lsa_TrustType(struct ndr_print *ndr, const char *name, enum lsa_TrustType r); +_PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r); +_PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); +_PUBLIC_ void ndr_print_lsa_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r); _PUBLIC_ void ndr_print_lsa_TrustDomainInfoName(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoName *r); +_PUBLIC_ void ndr_print_lsa_TrustDomainInfoControllers(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoControllers *r); _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPosixOffset *r); _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPassword *r); _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBasic *r); @@ -2673,8 +2647,11 @@ _PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print *ndr, const c _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBuffer *r); _PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfo *r); _PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo *r); -_PUBLIC_ void ndr_print_lsa_TrustDomainInfo11(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfo11 *r); -_PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoAll(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoAll *r); +_PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfoInternal *r); +_PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfoInternal *r); +_PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx2Internal *r); +_PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo2Internal *r); +_PUBLIC_ void ndr_print_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoSupportedEncTypes *r); _PUBLIC_ void ndr_print_lsa_TrustedDomainInfo(struct ndr_print *ndr, const char *name, const union lsa_TrustedDomainInfo *r); _PUBLIC_ void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF_PTR *r); _PUBLIC_ void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, const struct lsa_RightSet *r); @@ -2848,9 +2825,11 @@ _PUBLIC_ void ndr_print_netr_IdentityInfo(struct ndr_print *ndr, const char *nam _PUBLIC_ void ndr_print_netr_PasswordInfo(struct ndr_print *ndr, const char *name, const struct netr_PasswordInfo *r); _PUBLIC_ void ndr_print_netr_ChallengeResponse(struct ndr_print *ndr, const char *name, const struct netr_ChallengeResponse *r); _PUBLIC_ void ndr_print_netr_NetworkInfo(struct ndr_print *ndr, const char *name, const struct netr_NetworkInfo *r); -_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonInfo(struct ndr_push *ndr, int ndr_flags, const union netr_LogonInfo *r); -_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonInfo(struct ndr_pull *ndr, int ndr_flags, union netr_LogonInfo *r); -_PUBLIC_ void ndr_print_netr_LogonInfo(struct ndr_print *ndr, const char *name, const union netr_LogonInfo *r); +_PUBLIC_ void ndr_print_netr_GenericInfo(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo *r); +_PUBLIC_ void ndr_print_netr_LogonInfoClass(struct ndr_print *ndr, const char *name, enum netr_LogonInfoClass r); +_PUBLIC_ enum ndr_err_code ndr_push_netr_LogonLevel(struct ndr_push *ndr, int ndr_flags, const union netr_LogonLevel *r); +_PUBLIC_ enum ndr_err_code ndr_pull_netr_LogonLevel(struct ndr_pull *ndr, int ndr_flags, union netr_LogonLevel *r); +_PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, const union netr_LogonLevel *r); _PUBLIC_ enum ndr_err_code ndr_push_netr_UserSessionKey(struct ndr_push *ndr, int ndr_flags, const struct netr_UserSessionKey *r); _PUBLIC_ enum ndr_err_code ndr_pull_netr_UserSessionKey(struct ndr_pull *ndr, int ndr_flags, struct netr_UserSessionKey *r); _PUBLIC_ void ndr_print_netr_UserSessionKey(struct ndr_print *ndr, const char *name, const struct netr_UserSessionKey *r); @@ -2868,6 +2847,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamInfo3(struct ndr_pull *ndr, int ndr_ _PUBLIC_ void ndr_print_netr_SamInfo3(struct ndr_print *ndr, const char *name, const struct netr_SamInfo3 *r); _PUBLIC_ void ndr_print_netr_SamInfo6(struct ndr_print *ndr, const char *name, const struct netr_SamInfo6 *r); _PUBLIC_ void ndr_print_netr_PacInfo(struct ndr_print *ndr, const char *name, const struct netr_PacInfo *r); +_PUBLIC_ void ndr_print_netr_GenericInfo2(struct ndr_print *ndr, const char *name, const struct netr_GenericInfo2 *r); _PUBLIC_ enum ndr_err_code ndr_push_netr_Validation(struct ndr_push *ndr, int ndr_flags, const union netr_Validation *r); _PUBLIC_ enum ndr_err_code ndr_pull_netr_Validation(struct ndr_pull *ndr, int ndr_flags, union netr_Validation *r); _PUBLIC_ void ndr_print_netr_Validation(struct ndr_print *ndr, const char *name, const union netr_Validation *r); @@ -2877,7 +2857,6 @@ _PUBLIC_ void ndr_print_netr_Credential(struct ndr_print *ndr, const char *name, _PUBLIC_ enum ndr_err_code ndr_push_netr_Authenticator(struct ndr_push *ndr, int ndr_flags, const struct netr_Authenticator *r); _PUBLIC_ enum ndr_err_code ndr_pull_netr_Authenticator(struct ndr_pull *ndr, int ndr_flags, struct netr_Authenticator *r); _PUBLIC_ void ndr_print_netr_Authenticator(struct ndr_print *ndr, const char *name, const struct netr_Authenticator *r); -_PUBLIC_ void ndr_print_netr_LogonLevel(struct ndr_print *ndr, const char *name, enum netr_LogonLevel r); _PUBLIC_ void ndr_print_netr_DELTA_DELETE_USER(struct ndr_print *ndr, const char *name, const struct netr_DELTA_DELETE_USER *r); _PUBLIC_ void ndr_print_netr_USER_KEY16(struct ndr_print *ndr, const char *name, const struct netr_USER_KEY16 *r); _PUBLIC_ void ndr_print_netr_PasswordHistory(struct ndr_print *ndr, const char *name, const struct netr_PasswordHistory *r); @@ -2925,16 +2904,22 @@ _PUBLIC_ void ndr_print_netr_DsR_DcFlags(struct ndr_print *ndr, const char *name _PUBLIC_ enum ndr_err_code ndr_push_netr_DsRGetDCNameInfo(struct ndr_push *ndr, int ndr_flags, const struct netr_DsRGetDCNameInfo *r); _PUBLIC_ enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r); _PUBLIC_ void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r); +_PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r); _PUBLIC_ void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r); _PUBLIC_ void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r); _PUBLIC_ void ndr_print_netr_DomainQuery(struct ndr_print *ndr, const char *name, const union netr_DomainQuery *r); +_PUBLIC_ void ndr_print_netr_trust_extension(struct ndr_print *ndr, const char *name, const struct netr_trust_extension *r); +_PUBLIC_ void ndr_print_netr_trust_extension_container(struct ndr_print *ndr, const char *name, const struct netr_trust_extension_container *r); _PUBLIC_ void ndr_print_netr_DomainTrustInfo(struct ndr_print *ndr, const char *name, const struct netr_DomainTrustInfo *r); +_PUBLIC_ void ndr_print_netr_LsaPolicyInfo(struct ndr_print *ndr, const char *name, const struct netr_LsaPolicyInfo *r); +_PUBLIC_ enum ndr_err_code ndr_push_netr_WorkstationFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r); +_PUBLIC_ enum ndr_err_code ndr_pull_netr_WorkstationFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); +_PUBLIC_ void ndr_print_netr_WorkstationFlags(struct ndr_print *ndr, const char *name, uint32_t r); _PUBLIC_ void ndr_print_netr_DomainInfo1(struct ndr_print *ndr, const char *name, const struct netr_DomainInfo1 *r); _PUBLIC_ void ndr_print_netr_DomainInfo(struct ndr_print *ndr, const char *name, const union netr_DomainInfo *r); _PUBLIC_ void ndr_print_netr_CryptPassword(struct ndr_print *ndr, const char *name, const struct netr_CryptPassword *r); _PUBLIC_ void ndr_print_netr_DsRAddressToSitenamesWCtr(struct ndr_print *ndr, const char *name, const struct netr_DsRAddressToSitenamesWCtr *r); _PUBLIC_ void ndr_print_netr_DsRAddress(struct ndr_print *ndr, const char *name, const struct netr_DsRAddress *r); -_PUBLIC_ void ndr_print_netr_TrustFlags(struct ndr_print *ndr, const char *name, uint32_t r); _PUBLIC_ void ndr_print_netr_TrustType(struct ndr_print *ndr, const char *name, enum netr_TrustType r); _PUBLIC_ void ndr_print_netr_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r); _PUBLIC_ void ndr_print_netr_DomainTrust(struct ndr_print *ndr, const char *name, const struct netr_DomainTrust *r); @@ -3088,15 +3073,15 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr _PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r); _PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r); _PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r); -_PUBLIC_ void ndr_print_samr_DomInfo2(struct ndr_print *ndr, const char *name, const struct samr_DomInfo2 *r); +_PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r); _PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r); -_PUBLIC_ void ndr_print_samr_DomInfo4(struct ndr_print *ndr, const char *name, const struct samr_DomInfo4 *r); +_PUBLIC_ void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r); _PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r); _PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r); _PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r); _PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r); _PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r); -_PUBLIC_ void ndr_print_samr_DomInfo11(struct ndr_print *ndr, const char *name, const struct samr_DomInfo11 *r); +_PUBLIC_ void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r); _PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r); _PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r); _PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r); @@ -3697,15 +3682,6 @@ _PUBLIC_ void ndr_print_wkssvc_NetrRemoveAlternateComputerName(struct ndr_print _PUBLIC_ void ndr_print_wkssvc_NetrSetPrimaryComputername(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrSetPrimaryComputername *r); _PUBLIC_ void ndr_print_wkssvc_NetrEnumerateComputerNames(struct ndr_print *ndr, const char *name, int flags, const struct wkssvc_NetrEnumerateComputerNames *r); -/* The following definitions come from librpc/gen_ndr/ndr_xattr.c */ - -_PUBLIC_ enum ndr_err_code ndr_push_tdb_xattr(struct ndr_push *ndr, int ndr_flags, const struct tdb_xattr *r); -_PUBLIC_ enum ndr_err_code ndr_pull_tdb_xattr(struct ndr_pull *ndr, int ndr_flags, struct tdb_xattr *r); -_PUBLIC_ void ndr_print_tdb_xattr(struct ndr_print *ndr, const char *name, const struct tdb_xattr *r); -_PUBLIC_ enum ndr_err_code ndr_push_tdb_xattrs(struct ndr_push *ndr, int ndr_flags, const struct tdb_xattrs *r); -_PUBLIC_ enum ndr_err_code ndr_pull_tdb_xattrs(struct ndr_pull *ndr, int ndr_flags, struct tdb_xattrs *r); -_PUBLIC_ void ndr_print_tdb_xattrs(struct ndr_print *ndr, const char *name, const struct tdb_xattrs *r); - /* The following definitions come from librpc/gen_ndr/srv_dfs.c */ void netdfs_get_pipe_fns(struct api_struct **fns, int *n_fns); @@ -3776,9 +3752,7 @@ NTSTATUS rpc_wkssvc_init(void); _PUBLIC_ size_t ndr_align_size(uint32_t offset, size_t n); _PUBLIC_ struct ndr_pull *ndr_pull_init_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience); _PUBLIC_ enum ndr_err_code ndr_pull_advance(struct ndr_pull *ndr, uint32_t size); -_PUBLIC_ void ndr_pull_save(struct ndr_pull *ndr, struct ndr_pull_save *save); -_PUBLIC_ void ndr_pull_restore(struct ndr_pull *ndr, struct ndr_pull_save *save); -_PUBLIC_ struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx); +_PUBLIC_ struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience); _PUBLIC_ DATA_BLOB ndr_push_blob(struct ndr_push *ndr); _PUBLIC_ enum ndr_err_code ndr_push_expand(struct ndr_push *ndr, uint32_t extra_size); _PUBLIC_ void ndr_print_debug_helper(struct ndr_print *ndr, const char *format, ...) _PRINTF_ATTRIBUTE(2,3); @@ -3840,13 +3814,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_struct_blob(const DATA_BLOB *blob, TALLOC_CT _PUBLIC_ enum ndr_err_code ndr_pull_struct_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, void *p, ndr_pull_flags_fn_t fn); -_PUBLIC_ enum ndr_err_code ndr_pull_union_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, - uint32_t level, ndr_pull_flags_fn_t fn); -_PUBLIC_ enum ndr_err_code ndr_pull_union_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, - uint32_t level, ndr_pull_flags_fn_t fn); _PUBLIC_ enum ndr_err_code ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, const void *p, ndr_push_flags_fn_t fn); -_PUBLIC_ enum ndr_err_code ndr_push_union_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, - uint32_t level, ndr_push_flags_fn_t fn); _PUBLIC_ size_t ndr_size_struct(const void *p, int flags, ndr_push_flags_fn_t push); _PUBLIC_ size_t ndr_size_union(const void *p, int flags, uint32_t level, ndr_push_flags_fn_t push); _PUBLIC_ uint32_t ndr_push_get_relative_base_offset(struct ndr_push *ndr); @@ -3902,8 +3870,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_align(struct ndr_pull *ndr, size_t size); _PUBLIC_ enum ndr_err_code ndr_push_bytes(struct ndr_push *ndr, const uint8_t *data, uint32_t n); _PUBLIC_ enum ndr_err_code ndr_push_zero(struct ndr_push *ndr, uint32_t n); _PUBLIC_ enum ndr_err_code ndr_push_array_uint8(struct ndr_push *ndr, int ndr_flags, const uint8_t *data, uint32_t n); -_PUBLIC_ void ndr_push_save(struct ndr_push *ndr, struct ndr_push_save *save); -_PUBLIC_ void ndr_push_restore(struct ndr_push *ndr, struct ndr_push_save *save); _PUBLIC_ enum ndr_err_code ndr_push_unique_ptr(struct ndr_push *ndr, const void *p); _PUBLIC_ enum ndr_err_code ndr_push_full_ptr(struct ndr_push *ndr, const void *p); _PUBLIC_ enum ndr_err_code ndr_push_ref_ptr(struct ndr_push *ndr); @@ -4275,13 +4241,13 @@ bool cli_lock(struct cli_state *cli, int fnum, uint32 offset, uint32 len, int timeout, enum brl_type lock_type); bool cli_unlock(struct cli_state *cli, int fnum, uint32 offset, uint32 len); bool cli_lock64(struct cli_state *cli, int fnum, - SMB_BIG_UINT offset, SMB_BIG_UINT len, int timeout, enum brl_type lock_type); -bool cli_unlock64(struct cli_state *cli, int fnum, SMB_BIG_UINT offset, SMB_BIG_UINT len); + uint64_t offset, uint64_t len, int timeout, enum brl_type lock_type); +bool cli_unlock64(struct cli_state *cli, int fnum, uint64_t offset, uint64_t len); bool cli_posix_lock(struct cli_state *cli, int fnum, - SMB_BIG_UINT offset, SMB_BIG_UINT len, + uint64_t offset, uint64_t len, bool wait_lock, enum brl_type lock_type); -bool cli_posix_unlock(struct cli_state *cli, int fnum, SMB_BIG_UINT offset, SMB_BIG_UINT len); -bool cli_posix_getlock(struct cli_state *cli, int fnum, SMB_BIG_UINT *poffset, SMB_BIG_UINT *plen); +bool cli_posix_unlock(struct cli_state *cli, int fnum, uint64_t offset, uint64_t len); +bool cli_posix_getlock(struct cli_state *cli, int fnum, uint64_t *poffset, uint64_t *plen); bool cli_getattrE(struct cli_state *cli, int fd, uint16 *attr, SMB_OFF_T *size, time_t *change_time, @@ -5133,20 +5099,20 @@ const char *lock_type_name(enum brl_type lock_type); const char *lock_flav_name(enum brl_flavour lock_flav); bool is_locked(files_struct *fsp, uint32 smbpid, - SMB_BIG_UINT count, - SMB_BIG_UINT offset, + uint64_t count, + uint64_t offset, enum brl_type lock_type); NTSTATUS query_lock(files_struct *fsp, uint32 *psmbpid, - SMB_BIG_UINT *pcount, - SMB_BIG_UINT *poffset, + uint64_t *pcount, + uint64_t *poffset, enum brl_type *plock_type, enum brl_flavour lock_flav); struct byte_range_lock *do_lock(struct messaging_context *msg_ctx, files_struct *fsp, uint32 lock_pid, - SMB_BIG_UINT count, - SMB_BIG_UINT offset, + uint64_t count, + uint64_t offset, enum brl_type lock_type, enum brl_flavour lock_flav, bool blocking_lock, @@ -5155,13 +5121,13 @@ struct byte_range_lock *do_lock(struct messaging_context *msg_ctx, NTSTATUS do_unlock(struct messaging_context *msg_ctx, files_struct *fsp, uint32 lock_pid, - SMB_BIG_UINT count, - SMB_BIG_UINT offset, + uint64_t count, + uint64_t offset, enum brl_flavour lock_flav); NTSTATUS do_lock_cancel(files_struct *fsp, uint32 lock_pid, - SMB_BIG_UINT count, - SMB_BIG_UINT offset, + uint64_t count, + uint64_t offset, enum brl_flavour lock_flav); void locking_close_file(struct messaging_context *msg_ctx, files_struct *fsp); @@ -5213,8 +5179,8 @@ int share_mode_forall(void (*fn)(const struct share_mode_entry *, const char *, /* The following definitions come from locking/posix.c */ bool is_posix_locked(files_struct *fsp, - SMB_BIG_UINT *pu_offset, - SMB_BIG_UINT *pu_count, + uint64_t *pu_offset, + uint64_t *pu_count, enum brl_type *plock_type, enum brl_flavour lock_flav); bool posix_locking_init(bool read_only); @@ -5222,28 +5188,28 @@ bool posix_locking_end(void); void reduce_windows_lock_ref_count(files_struct *fsp, unsigned int dcount); int fd_close_posix(struct files_struct *fsp); bool set_posix_lock_windows_flavour(files_struct *fsp, - SMB_BIG_UINT u_offset, - SMB_BIG_UINT u_count, + uint64_t u_offset, + uint64_t u_count, enum brl_type lock_type, const struct lock_context *lock_ctx, const struct lock_struct *plocks, int num_locks, int *errno_ret); bool release_posix_lock_windows_flavour(files_struct *fsp, - SMB_BIG_UINT u_offset, - SMB_BIG_UINT u_count, + uint64_t u_offset, + uint64_t u_count, enum brl_type deleted_lock_type, const struct lock_context *lock_ctx, const struct lock_struct *plocks, int num_locks); bool set_posix_lock_posix_flavour(files_struct *fsp, - SMB_BIG_UINT u_offset, - SMB_BIG_UINT u_count, + uint64_t u_offset, + uint64_t u_count, enum brl_type lock_type, int *errno_ret); bool release_posix_lock_posix_flavour(files_struct *fsp, - SMB_BIG_UINT u_offset, - SMB_BIG_UINT u_count, + uint64_t u_offset, + uint64_t u_count, const struct lock_context *lock_ctx, const struct lock_struct *plocks, int num_locks); @@ -6600,7 +6566,8 @@ bool sysv_cache_reload(void); /* The following definitions come from printing/printfsp.c */ -NTSTATUS print_fsp_open(connection_struct *conn, const char *fname, +NTSTATUS print_fsp_open(struct smb_request *req, connection_struct *conn, + const char *fname, uint16_t current_vuid, files_struct **result); void print_fsp_end(files_struct *fsp, enum file_close_type close_type); @@ -7201,8 +7168,6 @@ WERROR rpccli_spoolss_rffpcnex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR rpccli_svcctl_enumerate_services( struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hSCM, uint32 type, uint32 state, uint32 *returned, ENUM_SERVICES_STATUS **service_array ); -WERROR rpccli_svcctl_query_config(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - POLICY_HND *hService, SERVICE_CONFIG *config ); /* The following definitions come from rpc_client/init_lsa.c */ @@ -7327,22 +7292,22 @@ void init_samr_DomInfo1(struct samr_DomInfo1 *r, uint32_t password_properties, int64_t max_password_age, int64_t min_password_age); -void init_samr_DomInfo2(struct samr_DomInfo2 *r, - NTTIME force_logoff_time, - const char *comment, - const char *domain_name, - const char *primary, - uint64_t sequence_num, - uint32_t unknown2, - enum samr_Role role, - uint32_t unknown3, - uint32_t num_users, - uint32_t num_groups, - uint32_t num_aliases); +void init_samr_DomGeneralInformation(struct samr_DomGeneralInformation *r, + NTTIME force_logoff_time, + const char *oem_information, + const char *domain_name, + const char *primary, + uint64_t sequence_num, + uint32_t unknown2, + enum samr_Role role, + uint32_t unknown3, + uint32_t num_users, + uint32_t num_groups, + uint32_t num_aliases); void init_samr_DomInfo3(struct samr_DomInfo3 *r, NTTIME force_logoff_time); -void init_samr_DomInfo4(struct samr_DomInfo4 *r, - const char *comment); +void init_samr_DomOEMInformation(struct samr_DomOEMInformation *r, + const char *oem_information); void init_samr_DomInfo5(struct samr_DomInfo5 *r, const char *domain_name); void init_samr_DomInfo6(struct samr_DomInfo6 *r, @@ -8195,11 +8160,8 @@ bool convert_port_data_1( NT_PORT_DATA_1 *port1, RPC_BUFFER *buf ) ; bool svcctl_io_enum_services_status( const char *desc, ENUM_SERVICES_STATUS *enum_status, RPC_BUFFER *buffer, int depth ); bool svcctl_io_service_status_process( const char *desc, SERVICE_STATUS_PROCESS *status, RPC_BUFFER *buffer, int depth ); uint32 svcctl_sizeof_enum_services_status( ENUM_SERVICES_STATUS *status ); -uint32 svcctl_sizeof_service_config( SERVICE_CONFIG *config ); bool svcctl_io_q_enum_services_status(const char *desc, SVCCTL_Q_ENUM_SERVICES_STATUS *q_u, prs_struct *ps, int depth); bool svcctl_io_r_enum_services_status(const char *desc, SVCCTL_R_ENUM_SERVICES_STATUS *r_u, prs_struct *ps, int depth); -bool svcctl_io_q_query_service_config(const char *desc, SVCCTL_Q_QUERY_SERVICE_CONFIG *q_u, prs_struct *ps, int depth); -bool svcctl_io_r_query_service_config(const char *desc, SVCCTL_R_QUERY_SERVICE_CONFIG *r_u, prs_struct *ps, int depth); bool svcctl_io_q_query_service_config2(const char *desc, SVCCTL_Q_QUERY_SERVICE_CONFIG2 *q_u, prs_struct *ps, int depth); void init_service_description_buffer(SERVICE_DESCRIPTION *desc, const char *service_desc ); bool svcctl_io_service_description( const char *desc, SERVICE_DESCRIPTION *description, RPC_BUFFER *buffer, int depth ); @@ -8718,26 +8680,16 @@ bool api_pipe_request(pipes_struct *p); pipes_struct *get_first_internal_pipe(void); pipes_struct *get_next_internal_pipe(pipes_struct *p); void set_pipe_handle_offset(int max_open_files); -void reset_chain_p(void); void init_rpc_pipe_hnd(void); -smb_np_struct *open_rpc_pipe_p(const char *pipe_name, - connection_struct *conn, uint16 vuid); -ssize_t write_to_pipe(smb_np_struct *p, char *data, size_t n); -ssize_t read_from_pipe(smb_np_struct *p, char *data, size_t n, - bool *is_data_outstanding); -bool wait_rpc_pipe_hnd_state(smb_np_struct *p, uint16 priority); -bool set_rpc_pipe_hnd_state(smb_np_struct *p, uint16 device_state); -bool close_rpc_pipe_hnd(smb_np_struct *p); -void pipe_close_conn(connection_struct *conn); -smb_np_struct *get_rpc_pipe_p(uint16 pnum); -smb_np_struct *get_rpc_pipe(int pnum); -struct pipes_struct *make_internal_rpc_pipe_p(const char *pipe_name, - const char *client_address, - struct auth_serversupplied_info *server_info, - uint16_t vuid); -ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, size_t n, - bool *is_data_outstanding); -ssize_t write_to_internal_pipe(struct pipes_struct *p, char *data, size_t n); + +bool fsp_is_np(struct files_struct *fsp); +NTSTATUS np_open(struct smb_request *smb_req, struct connection_struct *conn, + const char *name, struct files_struct **pfsp); +NTSTATUS np_write(struct files_struct *fsp, uint8_t *data, size_t len, + ssize_t *nwritten); +NTSTATUS np_read(struct files_struct *fsp, uint8_t *data, size_t len, + ssize_t *nread, bool *is_data_outstanding); + /* The following definitions come from rpc_server/srv_samr_nt.c */ @@ -9135,7 +9087,6 @@ WERROR _svcctl_ControlService(pipes_struct *p, WERROR _svcctl_EnumDependentServicesW(pipes_struct *p, struct svcctl_EnumDependentServicesW *r); WERROR _svcctl_query_service_status_ex( pipes_struct *p, SVCCTL_Q_QUERY_SERVICE_STATUSEX *q_u, SVCCTL_R_QUERY_SERVICE_STATUSEX *r_u ); -WERROR _svcctl_query_service_config( pipes_struct *p, SVCCTL_Q_QUERY_SERVICE_CONFIG *q_u, SVCCTL_R_QUERY_SERVICE_CONFIG *r_u ); WERROR _svcctl_query_service_config2( pipes_struct *p, SVCCTL_Q_QUERY_SERVICE_CONFIG2 *q_u, SVCCTL_R_QUERY_SERVICE_CONFIG2 *r_u ); WERROR _svcctl_LockServiceDatabase(pipes_struct *p, struct svcctl_LockServiceDatabase *r); @@ -9358,16 +9309,16 @@ bool push_blocking_lock_request( struct byte_range_lock *br_lck, uint32 lock_pid, enum brl_type lock_type, enum brl_flavour lock_flav, - SMB_BIG_UINT offset, - SMB_BIG_UINT count, + uint64_t offset, + 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(int mid); bool blocking_lock_was_deferred(int mid); bool blocking_lock_cancel(files_struct *fsp, uint32 lock_pid, - SMB_BIG_UINT offset, - SMB_BIG_UINT count, + uint64_t offset, + uint64_t count, enum brl_flavour lock_flav, unsigned char locktype, NTSTATUS err); @@ -9396,7 +9347,8 @@ NTSTATUS change_oem_password(struct samu *hnd, char *old_passwd, char *new_passw /* The following definitions come from smbd/close.c */ void set_close_write_time(struct files_struct *fsp, struct timespec ts); -NTSTATUS close_file(files_struct *fsp, enum file_close_type close_type); +NTSTATUS close_file(struct smb_request *req, files_struct *fsp, + enum file_close_type close_type); void msg_close_file(struct messaging_context *msg_ctx, void *private_data, uint32_t msg_type, @@ -9429,19 +9381,17 @@ int count_all_current_connections(void); bool claim_connection(connection_struct *conn, const char *name, uint32 msg_flags); bool register_message_flags(bool doreg, uint32 msg_flags); -bool store_pipe_opendb( smb_np_struct *p ); -bool delete_pipe_opendb( smb_np_struct *p ); /* The following definitions come from smbd/dfree.c */ -SMB_BIG_UINT sys_disk_free(connection_struct *conn, const char *path, bool small_query, - SMB_BIG_UINT *bsize,SMB_BIG_UINT *dfree,SMB_BIG_UINT *dsize); -SMB_BIG_UINT get_dfree_info(connection_struct *conn, +uint64_t sys_disk_free(connection_struct *conn, const char *path, bool small_query, + uint64_t *bsize,uint64_t *dfree,uint64_t *dsize); +uint64_t get_dfree_info(connection_struct *conn, const char *path, bool small_query, - SMB_BIG_UINT *bsize, - SMB_BIG_UINT *dfree, - SMB_BIG_UINT *dsize); + uint64_t *bsize, + uint64_t *dfree, + uint64_t *dsize); /* The following definitions come from smbd/dir.c */ @@ -9555,13 +9505,13 @@ void reply_unix_error(struct smb_request *req, uint8 defclass, uint32 defcode, /* The following definitions come from smbd/fake_file.c */ enum FAKE_FILE_TYPE is_fake_file(const char *fname); -NTSTATUS open_fake_file(connection_struct *conn, +NTSTATUS open_fake_file(struct smb_request *req, connection_struct *conn, uint16_t current_vuid, enum FAKE_FILE_TYPE fake_file_type, const char *fname, uint32 access_mask, files_struct **result); -NTSTATUS close_fake_file(files_struct *fsp); +NTSTATUS close_fake_file(struct smb_request *req, files_struct *fsp); /* The following definitions come from smbd/file_access.c */ @@ -9602,7 +9552,8 @@ NTSTATUS check_name(connection_struct *conn, const char *name); /* The following definitions come from smbd/files.c */ -NTSTATUS file_new(connection_struct *conn, files_struct **result); +NTSTATUS file_new(struct smb_request *req, connection_struct *conn, + files_struct **result); void file_close_conn(connection_struct *conn); void file_close_pid(uint16 smbpid, int vuid); void file_init(void); @@ -9615,15 +9566,12 @@ files_struct *file_find_di_first(struct file_id id); files_struct *file_find_di_next(files_struct *start_fsp); files_struct *file_find_print(void); void file_sync_all(connection_struct *conn); -void file_free(files_struct *fsp); +void file_free(struct smb_request *req, files_struct *fsp); files_struct *file_fnum(uint16 fnum); -files_struct *file_fsp(uint16 fid); -void file_chain_reset(void); -NTSTATUS dup_file_fsp(files_struct *fsp, - uint32 access_mask, - uint32 share_access, - uint32 create_options, - files_struct **result); +files_struct *file_fsp(struct smb_request *req, uint16 fid); +NTSTATUS dup_file_fsp(struct smb_request *req, files_struct *fsp, + uint32 access_mask, uint32 share_access, + uint32 create_options, files_struct **result); /* The following definitions come from smbd/ipc.c */ @@ -9815,9 +9763,10 @@ NTSTATUS open_file_ntcreate(connection_struct *conn, /* Information (FILE_EXISTS etc.) */ int *pinfo, files_struct **result); -NTSTATUS open_file_fchmod(connection_struct *conn, const char *fname, +NTSTATUS open_file_fchmod(struct smb_request *req, connection_struct *conn, + const char *fname, SMB_STRUCT_STAT *psbuf, files_struct **result); -NTSTATUS close_file_fchmod(files_struct *fsp); +NTSTATUS close_file_fchmod(struct smb_request *req, files_struct *fsp); NTSTATUS open_directory(connection_struct *conn, struct smb_request *req, const char *fname, @@ -9844,7 +9793,7 @@ NTSTATUS create_file_unixpath(connection_struct *conn, uint32_t create_options, uint32_t file_attributes, uint32_t oplock_request, - SMB_BIG_UINT allocation_size, + uint64_t allocation_size, struct security_descriptor *sd, struct ea_list *ea_list, @@ -9861,7 +9810,7 @@ NTSTATUS create_file(connection_struct *conn, uint32_t create_options, uint32_t file_attributes, uint32_t oplock_request, - SMB_BIG_UINT allocation_size, + uint64_t allocation_size, struct security_descriptor *sd, struct ea_list *ea_list, @@ -9988,18 +9937,18 @@ void smbd_process(void); /* The following definitions come from smbd/quotas.c */ -bool disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); -bool disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); +bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *dsize); +bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *dsize); bool disk_quotas(const char *path, - SMB_BIG_UINT *bsize, - SMB_BIG_UINT *dfree, - SMB_BIG_UINT *dsize); -bool disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); -bool disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); -bool disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); -bool disk_quotas_vxfs(const char *name, char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); -bool disk_quotas(const char *path,SMB_BIG_UINT *bsize,SMB_BIG_UINT *dfree,SMB_BIG_UINT *dsize); -bool disk_quotas(const char *path,SMB_BIG_UINT *bsize,SMB_BIG_UINT *dfree,SMB_BIG_UINT *dsize); + uint64_t *bsize, + uint64_t *dfree, + uint64_t *dsize); +bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *dsize); +bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *dsize); +bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *dsize); +bool disk_quotas_vxfs(const char *name, char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *dsize); +bool disk_quotas(const char *path,uint64_t *bsize,uint64_t *dfree,uint64_t *dsize); +bool disk_quotas(const char *path,uint64_t *bsize,uint64_t *dfree,uint64_t *dsize); /* The following definitions come from smbd/reply.c */ @@ -10109,8 +10058,8 @@ NTSTATUS copy_file(TALLOC_CTX *ctx, bool target_is_directory); void reply_copy(struct smb_request *req); uint32 get_lock_pid( char *data, int data_offset, bool large_file_format); -SMB_BIG_UINT get_lock_count( char *data, int data_offset, bool large_file_format); -SMB_BIG_UINT get_lock_offset( char *data, int data_offset, bool large_file_format, bool *err); +uint64_t get_lock_count( char *data, int data_offset, bool large_file_format); +uint64_t get_lock_offset( char *data, int data_offset, bool large_file_format, bool *err); void reply_lockingX(struct smb_request *req); void reply_readbmpx(struct smb_request *req); void reply_readbs(struct smb_request *req); @@ -10228,8 +10177,8 @@ int sys_statvfs(const char *path, vfs_statvfs_struct *statbuf); /* The following definitions come from smbd/trans2.c */ -SMB_BIG_UINT smb_roundup(connection_struct *conn, SMB_BIG_UINT val); -SMB_BIG_UINT get_allocation_size(connection_struct *conn, files_struct *fsp, const SMB_STRUCT_STAT *sbuf); +uint64_t smb_roundup(connection_struct *conn, uint64_t val); +uint64_t get_allocation_size(connection_struct *conn, files_struct *fsp, const SMB_STRUCT_STAT *sbuf); NTSTATUS get_ea_value(TALLOC_CTX *mem_ctx, connection_struct *conn, files_struct *fsp, const char *fname, const char *ea_name, struct ea_struct *pea); @@ -10313,7 +10262,7 @@ ssize_t vfs_pwrite_data(struct smb_request *req, const char *buffer, size_t N, SMB_OFF_T offset); -int vfs_allocate_file_space(files_struct *fsp, SMB_BIG_UINT len); +int vfs_allocate_file_space(files_struct *fsp, uint64_t len); int vfs_set_filelen(files_struct *fsp, SMB_OFF_T len); int vfs_fill_sparse(files_struct *fsp, SMB_OFF_T len); SMB_OFF_T vfs_transfer_file(files_struct *in, files_struct *out, SMB_OFF_T n); |