summaryrefslogtreecommitdiff
path: root/source3/include/smb_perfcount.h
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include/smb_perfcount.h')
-rw-r--r--source3/include/smb_perfcount.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/include/smb_perfcount.h b/source3/include/smb_perfcount.h
index 218045be88..01a539d508 100644
--- a/source3/include/smb_perfcount.h
+++ b/source3/include/smb_perfcount.h
@@ -39,6 +39,8 @@ struct smb_perfcount_handlers {
uint64_t out_bytes);
void (*perfcount_set_client) (struct smb_perfcount_data *pcd, uid_t uid,
const char *user, const char *domain);
+ void (*perfcount_copy_context) (struct smb_perfcount_data *pcd,
+ struct smb_perfcount_data *new_pcd);
void (*perfcount_defer_op) (struct smb_perfcount_data *pcd,
struct smb_perfcount_data *def_pcd);
void (*perfcount_end) (struct smb_perfcount_data *pcd);
@@ -86,13 +88,17 @@ void smb_init_perfcount_data(struct smb_perfcount_data *pcd);
(_pcd_)->handlers->perfcount_set_msglen_out((_pcd_), (_out_));\
} while (0)
-
#define SMB_PERFCOUNT_SET_CLIENT(_pcd_,_uid_, _user_, _domain_) \
do {if((_pcd_) && (_pcd_)->handlers) \
(_pcd_)->handlers->perfcount_set_client((_pcd_), (_uid_), \
(_user_), (_domain_)); \
} while (0)
+#define SMB_PERFCOUNT_COPY_CONTEXT(_pcd_, _new_pcd_) \
+ do {if((_pcd_) && (_pcd_)->handlers) \
+ (_pcd_)->handlers->perfcount_copy_context((_pcd_), (_new_pcd_)); \
+ } while (0)
+
#define SMB_PERFCOUNT_DEFER_OP(_pcd_, _def_pcd_) \
do {if((_pcd_) && (_pcd_)->handlers) \
(_pcd_)->handlers->perfcount_defer_op((_pcd_), (_def_pcd_)); \