summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/ads.h3
-rw-r--r--source3/include/includes.h5
-rw-r--r--source3/include/nss_info.h8
-rw-r--r--source3/include/proto.h80
-rw-r--r--source3/include/rpc_misc.h33
-rw-r--r--source3/include/rpc_perfcount.h126
-rw-r--r--source3/include/rpc_perfcount_defs.h93
-rw-r--r--source3/include/smb.h1
-rw-r--r--source3/include/vfs.h6
-rw-r--r--source3/include/vfs_macros.h8
10 files changed, 48 insertions, 315 deletions
diff --git a/source3/include/ads.h b/source3/include/ads.h
index 6d9b0eebac..30f0b1fc0c 100644
--- a/source3/include/ads.h
+++ b/source3/include/ads.h
@@ -211,9 +211,6 @@ typedef void **ADS_MODLIST;
#define ADS_LDAP_MATCHING_RULE_BIT_OR "1.2.840.113556.1.4.804"
#define ADS_PINGS 0x0000FFFF /* Ping response */
-#define ADS_DNS_CONTROLLER 0x20000000 /* DomainControllerName is a DNS name*/
-#define ADS_DNS_DOMAIN 0x40000000 /* DomainName is a DNS name */
-#define ADS_DNS_FOREST 0x80000000 /* DnsForestName is a DNS name */
/* ads auth control flags */
#define ADS_AUTH_DISABLE_KERBEROS 0x0001
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 71125140be..b3446cbf65 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -621,7 +621,7 @@ struct smb_iconv_convenience *lp_iconv_convenience(void *lp_ctx);
#include "tdb.h"
#include "util_tdb.h"
-#include "../talloc/talloc.h"
+#include "talloc.h"
#include "event.h"
#include "../lib/util/tevent_unix.h"
@@ -672,8 +672,7 @@ struct smb_iconv_convenience *lp_iconv_convenience(void *lp_ctx);
#include "ntdomain.h"
#include "reg_objects.h"
#include "reg_db.h"
-#include "rpc_perfcount.h"
-#include "rpc_perfcount_defs.h"
+#include "librpc/gen_ndr/perfcount.h"
#include "librpc/gen_ndr/notify.h"
#include "librpc/gen_ndr/xattr.h"
#include "librpc/gen_ndr/messaging.h"
diff --git a/source3/include/nss_info.h b/source3/include/nss_info.h
index 90d992a3b9..7514289889 100644
--- a/source3/include/nss_info.h
+++ b/source3/include/nss_info.h
@@ -8,12 +8,12 @@
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
-
+
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
-
+
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@@ -36,7 +36,7 @@
struct nss_function_entry {
struct nss_function_entry *prev, *next;
-
+
const char *name;
struct nss_info_methods *methods;
};
@@ -83,8 +83,6 @@ NTSTATUS smb_register_idmap_nss(int version,
const char *name,
struct nss_info_methods *methods);
-NTSTATUS nss_init( const char **nss_list );
-
NTSTATUS nss_get_info( const char *domain, const DOM_SID *user_sid,
TALLOC_CTX *ctx,
ADS_STRUCT *ads, LDAPMessage *msg,
diff --git a/source3/include/proto.h b/source3/include/proto.h
index d664a26949..4f33a4adf6 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -937,7 +937,7 @@ SMB_OFF_T sys_ftell(FILE *fp);
int sys_creat(const char *path, mode_t mode);
int sys_open(const char *path, int oflag, mode_t mode);
FILE *sys_fopen(const char *path, const char *type);
-void kernel_flock(int fd, uint32 share_mode);
+void kernel_flock(int fd, uint32 share_mode, uint32 access_mask);
SMB_STRUCT_DIR *sys_opendir(const char *name);
SMB_STRUCT_DIRENT *sys_readdir(SMB_STRUCT_DIR *dirp);
void sys_seekdir(SMB_STRUCT_DIR *dirp, long offset);
@@ -1259,6 +1259,10 @@ struct passwd *getpwuid_alloc(TALLOC_CTX *mem_ctx, uid_t uid) ;
const char *reg_type_lookup(enum winreg_Type type);
WERROR reg_pull_multi_sz(TALLOC_CTX *mem_ctx, const void *buf, size_t len,
uint32 *num_values, char ***values);
+bool push_reg_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char *s);
+bool push_reg_multi_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char **a);
+bool pull_reg_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char **s);
+bool pull_reg_multi_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char ***a);
/* The following definitions come from lib/util_reg_api.c */
@@ -1572,12 +1576,6 @@ void load_case_tables(void);
void init_valid_table(void);
size_t dos_PutUniCode(char *dst,const char *src, size_t len, bool null_terminate);
char *skip_unibuf(char *src, size_t len);
-int rpcstr_pull(char* dest, void *src, int dest_len, int src_len, int flags);
-int rpcstr_pull_talloc(TALLOC_CTX *ctx,
- char **dest,
- void *src,
- int src_len,
- int flags);
int rpcstr_push(void *dest, const char *src, size_t dest_len, int flags);
int rpcstr_push_talloc(TALLOC_CTX *ctx, smb_ucs2_t **dest, const char *src);
smb_ucs2_t toupper_w(smb_ucs2_t val);
@@ -2661,6 +2659,14 @@ struct tevent_req *cli_posix_rmdir_send(TALLOC_CTX *mem_ctx,
const char *fname);
NTSTATUS cli_posix_rmdir_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx);
NTSTATUS cli_posix_rmdir(struct cli_state *cli, const char *fname);
+struct tevent_req *cli_notify_send(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct cli_state *cli, uint16_t fnum,
+ uint32_t buffer_size,
+ uint32_t completion_filter, bool recursive);
+NTSTATUS cli_notify_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+ uint32_t *pnum_changes,
+ struct notify_change **pchanges);
/* The following definitions come from libsmb/clifsinfo.c */
@@ -3309,8 +3315,9 @@ void update_trustdom_cache( void );
NTSTATUS trust_pw_change_and_store_it(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
const char *domain,
+ const char *account_name,
unsigned char orig_trust_passwd_hash[16],
- uint32 sec_channel_type);
+ enum netr_SchannelType sec_channel_type);
NTSTATUS trust_pw_find_change_and_store_it(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *domain) ;
@@ -3978,6 +3985,7 @@ char *lp_ldap_suffix(void);
char *lp_ldap_admin_dn(void);
int lp_ldap_ssl(void);
bool lp_ldap_ssl_ads(void);
+int lp_ldap_ref_follow(void);
int lp_ldap_passwd_sync(void);
bool lp_ldap_delete_dn(void);
int lp_ldap_replication_sleep(void);
@@ -4437,9 +4445,11 @@ bool pdb_update_autolock_flag(struct samu *sampass, bool *updated);
bool pdb_increment_bad_password_count(struct samu *sampass);
bool is_dc_trusted_domain_situation(const char *domain_name);
bool get_trust_pw_clear(const char *domain, char **ret_pwd,
- const char **account_name, uint32 *channel);
+ const char **account_name,
+ enum netr_SchannelType *channel);
bool get_trust_pw_hash(const char *domain, uint8 ret_pwd[16],
- const char **account_name, uint32 *channel);
+ const char **account_name,
+ enum netr_SchannelType *channel);
struct samr_LogonHours get_logon_hours_from_pdb(TALLOC_CTX *mem_ctx,
struct samu *pw);
/* The following definitions come from passdb/pdb_compat.c */
@@ -4672,14 +4682,14 @@ bool secrets_fetch_domain_sid(const char *domain, DOM_SID *sid);
bool secrets_store_domain_guid(const char *domain, struct GUID *guid);
bool secrets_fetch_domain_guid(const char *domain, struct GUID *guid);
void *secrets_get_trust_account_lock(TALLOC_CTX *mem_ctx, const char *domain);
-uint32 get_default_sec_channel(void);
+enum netr_SchannelType get_default_sec_channel(void);
bool secrets_fetch_trust_account_password_legacy(const char *domain,
uint8 ret_pwd[16],
time_t *pass_last_set_time,
- uint32 *channel);
+ enum netr_SchannelType *channel);
bool secrets_fetch_trust_account_password(const char *domain, uint8 ret_pwd[16],
time_t *pass_last_set_time,
- uint32 *channel);
+ enum netr_SchannelType *channel);
bool secrets_fetch_trusted_domain_password(const char *domain, char** pwd,
DOM_SID *sid, time_t *pass_last_set_time);
bool secrets_store_trusted_domain_password(const char* domain, const char* pwd,
@@ -4687,10 +4697,10 @@ bool secrets_store_trusted_domain_password(const char* domain, const char* pwd,
bool secrets_delete_machine_password(const char *domain);
bool secrets_delete_machine_password_ex(const char *domain);
bool secrets_delete_domain_sid(const char *domain);
-bool secrets_store_machine_password(const char *pass, const char *domain, uint32 sec_channel);
+bool secrets_store_machine_password(const char *pass, const char *domain, enum netr_SchannelType sec_channel);
char *secrets_fetch_machine_password(const char *domain,
time_t *pass_last_set_time,
- uint32 *channel);
+ enum netr_SchannelType *channel);
bool trusted_domain_password_delete(const char *domain);
bool secrets_store_ldap_pw(const char* dn, char* pw);
bool fetch_ldap_pw(char **dn, char** pw);
@@ -5115,12 +5125,14 @@ struct regval_blob *regval_compose(TALLOC_CTX *ctx, const char *name,
const char *data_p, size_t size);
int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16 type,
const char *data_p, size_t size);
+int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const char *data);
+int regval_ctr_addvalue_multi_sz(struct regval_ctr *ctr, const char *name, const char **data);
int regval_ctr_copyvalue(struct regval_ctr *ctr, struct regval_blob *val);
int regval_ctr_delvalue(struct regval_ctr *ctr, const char *name);
struct regval_blob* regval_ctr_getvalue(struct regval_ctr *ctr,
const char *name);
uint32 regval_dword(struct regval_blob *val);
-char *regval_sz(struct regval_blob *val);
+const char *regval_sz(struct regval_blob *val);
/* The following definitions come from registry/reg_perfcount.c */
@@ -5130,20 +5142,6 @@ uint32 reg_perfcount_get_last_counter(uint32 base_index);
uint32 reg_perfcount_get_last_help(uint32 last_counter);
uint32 reg_perfcount_get_counter_help(uint32 base_index, char **retbuf);
uint32 reg_perfcount_get_counter_names(uint32 base_index, char **retbuf);
-bool _reg_perfcount_get_counter_data(TDB_DATA key, TDB_DATA *data);
-bool _reg_perfcount_get_instance_info(PERF_INSTANCE_DEFINITION *inst,
- prs_struct *ps,
- int instId,
- PERF_OBJECT_TYPE *obj,
- TDB_CONTEXT *names);
-bool _reg_perfcount_add_instance(PERF_OBJECT_TYPE *obj,
- prs_struct *ps,
- int instInd,
- TDB_CONTEXT *names);
-uint32 reg_perfcount_get_perf_data_block(uint32 base_index,
- prs_struct *ps,
- PERF_DATA_BLOCK *block,
- const char *object_ids);
WERROR reg_perfcount_get_hkpd(prs_struct *ps, uint32 max_buf_size, uint32 *outbuf_len, const char *object_ids);
/* The following definitions come from registry/reg_util.c */
@@ -5153,8 +5151,6 @@ bool reg_split_key(char *path, char **base, char **key);
char *normalize_reg_path(TALLOC_CTX *ctx, const char *keyname );
void normalize_dbkey(char *key);
char *reg_remaining_path(TALLOC_CTX *ctx, const char *key);
-int regval_convert_multi_sz( uint16 *multi_string, size_t byte_len, char ***values );
-size_t regval_build_multi_sz( char **values, uint16 **buffer );
/* The following definitions come from registry/reg_util_legacy.c */
@@ -5253,10 +5249,11 @@ NTSTATUS rpccli_netlogon_sam_network_logon_ex(struct rpc_pipe_client *cli,
struct netr_SamInfo3 **info3);
NTSTATUS rpccli_netlogon_set_trust_password(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
+ const char *account_name,
const unsigned char orig_trust_passwd_hash[16],
const char *new_trust_pwd_cleartext,
const unsigned char new_trust_passwd_hash[16],
- uint32_t sec_channel_type);
+ enum netr_SchannelType sec_channel_type);
/* The following definitions come from rpc_client/cli_pipe.c */
@@ -5418,12 +5415,6 @@ NTSTATUS rpc_transport_smbd_init(TALLOC_CTX *mem_ctx,
NTSTATUS rpc_transport_sock_init(TALLOC_CTX *mem_ctx, int fd,
struct rpc_cli_transport **presult);
-/* The following definitions come from rpc_client/cli_reg.c */
-
-NTSTATUS rpccli_winreg_Connect(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
- uint32 reg_type, uint32 access_mask,
- struct policy_handle *reg_hnd);
-
/* The following definitions come from rpc_client/cli_samr.c */
NTSTATUS rpccli_samr_chgpasswd_user(struct rpc_pipe_client *cli,
@@ -5449,7 +5440,7 @@ NTSTATUS rpccli_samr_chgpasswd_user3(struct rpc_pipe_client *cli,
const char *newpassword,
const char *oldpassword,
struct samr_DomInfo1 **dominfo1,
- struct samr_ChangeReject **reject);
+ struct userPwdChangeFailureInformation **reject);
void get_query_dispinfo_params(int loop_count, uint32 *max_entries,
uint32 *max_size);
NTSTATUS rpccli_try_samr_connects(struct rpc_pipe_client *cli,
@@ -5644,11 +5635,8 @@ NTSTATUS cli_do_rpc_ndr(struct rpc_pipe_client *cli,
/* The following definitions come from rpc_parse/parse_misc.c */
bool smb_io_time(const char *desc, NTTIME *nttime, prs_struct *ps, int depth);
-bool smb_io_system_time(const char *desc, prs_struct *ps, int depth, SYSTEMTIME *systime);
-bool make_systemtime(SYSTEMTIME *systime, struct tm *unixtime);
bool smb_io_uuid(const char *desc, struct GUID *uuid,
prs_struct *ps, int depth);
-void init_unistr2(UNISTR2 *str, const char *buf, enum unistr2_term_codes flags);
/* The following definitions come from rpc_parse/parse_prs.c */
@@ -5699,7 +5687,6 @@ bool prs_uint8s(bool charmode, const char *name, prs_struct *ps, int depth, uint
bool prs_uint16s(bool charmode, const char *name, prs_struct *ps, int depth, uint16 *data16s, int len);
bool prs_uint32s(bool charmode, const char *name, prs_struct *ps, int depth, uint32 *data32s, int len);
bool prs_unistr(const char *name, prs_struct *ps, int depth, UNISTR *str);
-bool prs_string(const char *name, prs_struct *ps, int depth, char *str, int max_buf_size);
bool prs_init_data_blob(prs_struct *prs, DATA_BLOB *blob, TALLOC_CTX *mem_ctx);
bool prs_data_blob(prs_struct *prs, DATA_BLOB *blob, TALLOC_CTX *mem_ctx);
@@ -6104,8 +6091,8 @@ NTSTATUS pass_oem_change(char *user,
const uchar old_lm_hash_encrypted[16],
uchar password_encrypted_with_nt_hash[516],
const uchar old_nt_hash_encrypted[16],
- uint32 *reject_reason);
-NTSTATUS change_oem_password(struct samu *hnd, char *old_passwd, char *new_passwd, bool as_root, uint32 *samr_reject_reason);
+ enum samPwdChangeReason *reject_reason);
+NTSTATUS change_oem_password(struct samu *hnd, char *old_passwd, char *new_passwd, bool as_root, enum samPwdChangeReason *samr_reject_reason);
/* The following definitions come from smbd/close.c */
@@ -7142,6 +7129,7 @@ int vfs_stat_smb_fname(struct connection_struct *conn, const char *fname,
SMB_STRUCT_STAT *psbuf);
int vfs_lstat_smb_fname(struct connection_struct *conn, const char *fname,
SMB_STRUCT_STAT *psbuf);
+NTSTATUS vfs_stat_fsp(files_struct *fsp);
/* The following definitions come from torture/denytest.c */
diff --git a/source3/include/rpc_misc.h b/source3/include/rpc_misc.h
index 797e1926db..58ea91683a 100644
--- a/source3/include/rpc_misc.h
+++ b/source3/include/rpc_misc.h
@@ -24,10 +24,6 @@
#define _RPC_MISC_H
#define SMB_RPC_INTERFACE_VERSION 1
-#define PRS_POINTER_CAST bool (*)(const char*, prs_struct*, int, void*)
-
-enum unistr2_term_codes { UNI_FLAGS_NONE = 0, UNI_STR_TERMINATE = 1, UNI_MAXLEN_TERMINATE = 2, UNI_BROKEN_NON_NULL = 3, UNI_STR_DBLTERMINATE = 4 };
-
/**********************************************************************
@@ -107,33 +103,4 @@ typedef struct { /* UNISTR - unicode string size and buffer */
little-endian. ***MUST*** be null-terminated */
} UNISTR;
-typedef struct { /* UNISTR2 - unicode string size (in
- uint16 unicode chars) and buffer */
- uint32 uni_max_len;
- uint32 offset;
- uint32 uni_str_len;
- uint16 *buffer; /* unicode characters. ***MUST*** be little-endian.
- **must** be null-terminated and the uni_str_len
- should include the NULL character */
-} UNISTR2;
-
-/*
- * I'm really wondering how many different time formats
- * I will have to cope with
- *
- * JFM, 09/13/98 In a mad mood ;-(
-*/
-typedef struct systemtime
-{
- uint16 year;
- uint16 month;
- uint16 dayofweek;
- uint16 day;
- uint16 hour;
- uint16 minute;
- uint16 second;
- uint16 milliseconds;
-}
-SYSTEMTIME;
-
#endif /* _RPC_MISC_H */
diff --git a/source3/include/rpc_perfcount.h b/source3/include/rpc_perfcount.h
deleted file mode 100644
index 0cb2fdc212..0000000000
--- a/source3/include/rpc_perfcount.h
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef _RPC_PERFCOUNT_H
-#define _RPC_PERFCOUNT_H
-/*
- * Unix SMB/CIFS implementation.
- * Virtual Windows Registry Layer
- *
- * Copyright (C) Marcin Krzysztof Porwit 2005,
- * Copyright (C) Gerald (Jerry) Carter 2005.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-typedef struct perf_counter_definition
-{
- /* sizeof(PERF_COUNTER_DEFINITION) */
- uint32 ByteLength;
- uint32 CounterNameTitleIndex;
- uint32 CounterNameTitlePointer;
- uint32 CounterHelpTitleIndex;
- uint32 CounterHelpTitlePointer;
- uint32 DefaultScale;
- uint32 DetailLevel;
- uint32 CounterType;
- uint32 CounterSize;
- uint32 CounterOffset;
-}
-PERF_COUNTER_DEFINITION;
-
-typedef struct perf_counter_block
-{
- /* Total size of the data block, including all data plus this header */
- uint32 ByteLength;
- uint8 *data;
-}
-PERF_COUNTER_BLOCK;
-
-typedef struct perf_instance_definition
-{
- /* Total size of the instance definition, including the length of the terminated Name string */
- uint32 ByteLength;
- uint32 ParentObjectTitleIndex;
- uint32 ParentObjectTitlePointer;
- uint32 UniqueID;
- /* From the start of the PERF_INSTANCE_DEFINITION, the byte offset to the start of the Name string */
- uint32 NameOffset;
- uint32 NameLength;
- /* Unicode string containing the name for the instance */
- uint8 *data;
- PERF_COUNTER_BLOCK counter_data;
-}
-PERF_INSTANCE_DEFINITION;
-
-typedef struct perf_object_type
-{
- /* Total size of the object block, including all PERF_INSTANCE_DEFINITIONs,
- PERF_COUNTER_DEFINITIONs and PERF_COUNTER_BLOCKs in bytes */
- uint32 TotalByteLength;
- /* Size of this PERF_OBJECT_TYPE plus all PERF_COUNTER_DEFINITIONs in bytes */
- uint32 DefinitionLength;
- /* Size of this PERF_OBJECT_TYPE */
- uint32 HeaderLength;
- uint32 ObjectNameTitleIndex;
- uint32 ObjectNameTitlePointer;
- uint32 ObjectHelpTitleIndex;
- uint32 ObjectHelpTitlePointer;
- uint32 DetailLevel;
- uint32 NumCounters;
- uint32 DefaultCounter;
- uint32 NumInstances;
- uint32 CodePage;
- uint64 PerfTime;
- uint64 PerfFreq;
- PERF_COUNTER_DEFINITION *counters;
- PERF_INSTANCE_DEFINITION *instances;
- PERF_COUNTER_BLOCK counter_data;
-}
-PERF_OBJECT_TYPE;
-
-/* PerfCounter Inner Buffer structs */
-typedef struct perf_data_block
-{
- /* hardcoded to read "P.E.R.F" */
- uint16 Signature[4];
- uint32 LittleEndian;
- /* both currently hardcoded to 1 */
- uint32 Version;
- uint32 Revision;
- /* bytes of PERF_OBJECT_TYPE data, does NOT include the PERF_DATA_BLOCK */
- uint32 TotalByteLength;
- /* size of PERF_DATA_BLOCK including the uint8 *data */
- uint32 HeaderLength;
- /* number of PERF_OBJECT_TYPE structures encoded */
- uint32 NumObjectTypes;
- uint32 DefaultObject;
- SYSTEMTIME SystemTime;
- /* This will guarantee that we're on a 64-bit boundary before we encode
- PerfTime, and having it there will make my offset math much easier. */
- uint32 Padding;
- /* Now when I'm marshalling this, I'll need to call prs_align_uint64()
- before I start encodint the uint64 structs */
- /* clock rate * seconds uptime */
- uint64 PerfTime;
- /* The clock rate of the CPU */
- uint64 PerfFreq;
- /* used for high-res timers -- for now PerfTime * 10e7 */
- uint64 PerfTime100nSec;
- uint32 SystemNameLength;
- uint32 SystemNameOffset;
- /* The SystemName, in unicode, terminated */
- uint8* data;
- PERF_OBJECT_TYPE *objects;
-}
-PERF_DATA_BLOCK;
-
-#endif /* _RPC_PERFCOUNT_H */
diff --git a/source3/include/rpc_perfcount_defs.h b/source3/include/rpc_perfcount_defs.h
deleted file mode 100644
index 6c84c270e5..0000000000
--- a/source3/include/rpc_perfcount_defs.h
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef _RPC_PERFCOUNT_DEFS_H
-#define _RPC_PERFCOUNT_DEFS_H
-/*
- * Unix SMB/CIFS implementation.
- * Virtual Windows Registry Layer
- *
- * Copyright (C) Marcin Krzysztof Porwit 2005,
- * Copyright (C) Gerald (Jerry) Carter 2005.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * The following #defines match what is in winperf.h.
- * See that include file for more details, or look up
- * "Performance Data Format" on MSDN
- *
- * Rather than including them in rpc_perfcount.h, they
- * were broken out into a separate .h file so that they
- * can be included by other programs that need this info
- * without pulling in everything else samba-related.
- */
-
-#define PERF_NO_INSTANCES -1
-#define PERF_NO_UNIQUE_ID -1
-
-/* These determine the data size */
-#define PERF_SIZE_DWORD 0x00000000
-#define PERF_SIZE_LARGE 0x00000100
-#define PERF_SIZE_ZERO 0x00000200
-#define PERF_SIZE_VARIABLE_LEN 0x00000300
-
-/* These determine the usage of the counter */
-#define PERF_TYPE_NUMBER 0x00000000
-#define PERF_TYPE_COUNTER 0x00000400
-#define PERF_TYPE_TEXT 0x00000800
-#define PERF_TYPE_ZERO 0x00000C00
-
-/* If PERF_TYPE_NUMBER was selected, these provide display information */
-#define PERF_NUMBER_HEX 0x00000000
-#define PERF_NUMBER_DECIMAL 0x00010000
-#define PERF_NUMBER_DEC_1000 0x00020000
-
-/* If PERF_TYPE_COUNTER was selected, these provide display information */
-#define PERF_COUNTER_VALUE 0x00000000
-#define PERF_COUNTER_RATE 0x00010000
-#define PERF_COUNTER_FRACTION 0x00020000
-#define PERF_COUNTER_BASE 0x00030000
-#define PERF_COUNTER_ELAPSED 0x00040000
-#define PERF_COUNTER_QUEUELEN 0x00050000
-#define PERF_COUNTER_HISTOGRAM 0x00060000
-#define PERF_COUNTER_PRECISION 0x00070000
-
-/* If PERF_TYPE_TEXT was selected, these provide display information */
-#define PERF_TEXT_UNICODE 0x00000000
-#define PERF_TEXT_ASCII 0x00010000
-
-/* These provide information for which tick count to use when computing elapsed interval */
-#define PERF_TIMER_TICK 0x00000000
-#define PERF_TIMER_100NS 0x00100000
-#define PERF_OBJECT_TIMER 0x00200000
-
-/* These affect how the data is manipulated prior to being displayed */
-#define PERF_DELTA_COUNTER 0x00400000
-#define PERF_DELTA_BASE 0x00800000
-#define PERF_INVERSE_COUNTER 0x01000000
-#define PERF_MULTI_COUNTER 0x02000000
-
-/* These determine if any text gets added when the value is displayed */
-#define PERF_DISPLAY_NO_SUFFIX 0x00000000
-#define PERF_DISPLAY_PER_SEC 0x10000000
-#define PERF_DISPLAY_PERCENT 0x20000000
-#define PERF_DISPLAY_SECONDS 0x30000000
-#define PERF_DISPLAY_NOSHOW 0x40000000
-
-/* These determine the DetailLevel of the counter */
-#define PERF_DETAIL_NOVICE 100
-#define PERF_DETAIL_ADVANCED 200
-#define PERF_DETAIL_EXPERT 300
-#define PERF_DETAIL_WIZARD 400
-
-#endif /* _RPC_PERFCOUNT_DEFS_H */
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 3c3ced6baf..cee95a9b17 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -727,6 +727,7 @@ struct pending_message_list {
struct smb_perfcount_data pcd;
uint32_t seqnum;
bool encrypted;
+ bool processed;
DATA_BLOB buf;
DATA_BLOB private_data;
};
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index ed49d1fd28..f9c1f0a54f 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -247,7 +247,8 @@ struct vfs_fn_pointers {
struct smb_file_time *ft);
int (*ftruncate)(struct vfs_handle_struct *handle, struct files_struct *fsp, SMB_OFF_T offset);
bool (*lock)(struct vfs_handle_struct *handle, struct files_struct *fsp, int op, SMB_OFF_T offset, SMB_OFF_T count, int type);
- int (*kernel_flock)(struct vfs_handle_struct *handle, struct files_struct *fsp, uint32 share_mode);
+ int (*kernel_flock)(struct vfs_handle_struct *handle, struct files_struct *fsp,
+ uint32 share_mode, uint32_t access_mask);
int (*linux_setlease)(struct vfs_handle_struct *handle, struct files_struct *fsp, int leasetype);
bool (*getlock)(struct vfs_handle_struct *handle, struct files_struct *fsp, SMB_OFF_T *poffset, SMB_OFF_T *pcount, int *ptype, pid_t *ppid);
int (*symlink)(struct vfs_handle_struct *handle, const char *oldpath, const char *newpath);
@@ -598,7 +599,8 @@ bool smb_vfs_call_lock(struct vfs_handle_struct *handle,
struct files_struct *fsp, int op, SMB_OFF_T offset,
SMB_OFF_T count, int type);
int smb_vfs_call_kernel_flock(struct vfs_handle_struct *handle,
- struct files_struct *fsp, uint32 share_mode);
+ struct files_struct *fsp, uint32 share_mode,
+ uint32_t access_mask);
int smb_vfs_call_linux_setlease(struct vfs_handle_struct *handle,
struct files_struct *fsp, int leasetype);
bool smb_vfs_call_getlock(struct vfs_handle_struct *handle,
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index 8ca7f373bf..7206bf41bb 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -250,10 +250,10 @@
#define SMB_VFS_NEXT_LOCK(handle, fsp, op, offset, count, type) \
smb_vfs_call_lock((handle)->next, (fsp), (op), (offset), (count), (type))
-#define SMB_VFS_KERNEL_FLOCK(fsp, share_mode) \
- smb_vfs_call_kernel_flock((fsp)->conn->vfs_handles, (fsp), (share_mode))
-#define SMB_VFS_NEXT_KERNEL_FLOCK(handle, fsp, share_mode) \
- smb_vfs_call_kernel_flock((handle)->next, (fsp), (share_mode))
+#define SMB_VFS_KERNEL_FLOCK(fsp, share_mode, access_mask) \
+ smb_vfs_call_kernel_flock((fsp)->conn->vfs_handles, (fsp), (share_mode), (access_mask))
+#define SMB_VFS_NEXT_KERNEL_FLOCK(handle, fsp, share_mode, access_mask) \
+ smb_vfs_call_kernel_flock((handle)->next, (fsp), (share_mode), (access_mask))
#define SMB_VFS_LINUX_SETLEASE(fsp, leasetype) \
smb_vfs_call_linux_setlease((fsp)->conn->vfs_handles, (fsp), (leasetype))