const char *svc, const char *user)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
if (!handle) {
return -1;
}
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CONNECT(handle, svc, user);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("connect", timediff);
}
static void smb_time_audit_disconnect(vfs_handle_struct *handle)
{
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
SMB_VFS_NEXT_DISCONNECT(handle);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("disconnect", timediff);
uint64_t *dfree, uint64_t *dsize)
{
uint64_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_DISK_FREE(handle, path, small_query, bsize,
dfree, dsize);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
/* Don't have a reasonable notion of failure here */
if (timediff > audit_timeout) {
SMB_DISK_QUOTA *qt)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_GET_QUOTA(handle, qtype, id, qt);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("get_quota", timediff);
SMB_DISK_QUOTA *qt)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SET_QUOTA(handle, qtype, id, qt);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("set_quota", timediff);
bool labels)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_GET_SHADOW_COPY_DATA(handle, fsp,
shadow_copy_data, labels);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("get_shadow_copy_data", timediff);
struct vfs_statvfs_struct *statbuf)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_STATVFS(handle, path, statbuf);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("statvfs", timediff);
enum timestamp_set_resolution *p_ts_res)
{
uint32_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FS_CAPABILITIES(handle, p_ts_res);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fs_capabilities", timediff);
const char *mask, uint32 attr)
{
SMB_STRUCT_DIR *result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_OPENDIR(handle, fname, mask, attr);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("opendir", timediff);
SMB_STRUCT_STAT *sbuf)
{
SMB_STRUCT_DIRENT *result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_READDIR(handle, dirp, sbuf);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("readdir", timediff);
static void smb_time_audit_seekdir(vfs_handle_struct *handle,
SMB_STRUCT_DIR *dirp, long offset)
{
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
SMB_VFS_NEXT_SEEKDIR(handle, dirp, offset);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("seekdir", timediff);
SMB_STRUCT_DIR *dirp)
{
long result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_TELLDIR(handle, dirp);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("telldir", timediff);
static void smb_time_audit_rewinddir(vfs_handle_struct *handle,
SMB_STRUCT_DIR *dirp)
{
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
SMB_VFS_NEXT_REWINDDIR(handle, dirp);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("rewinddir", timediff);
const char *path, mode_t mode)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_MKDIR(handle, path, mode);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("mkdir", timediff);
const char *path)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_RMDIR(handle, path);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("rmdir", timediff);
SMB_STRUCT_DIR *dirp)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CLOSEDIR(handle, dirp);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("closedir", timediff);
static void smb_time_audit_init_search_op(vfs_handle_struct *handle,
SMB_STRUCT_DIR *dirp)
{
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
SMB_VFS_NEXT_INIT_SEARCH_OP(handle, dirp);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("init_search_op", timediff);
int flags, mode_t mode)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_OPEN(handle, fname, fsp, flags, mode);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("open", timediff);
int *pinfo)
{
NTSTATUS result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CREATE_FILE(
handle, /* handle */
req, /* req */
ea_list, /* ea_list */
result_fsp, /* result */
pinfo);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("create_file", timediff);
static int smb_time_audit_close(vfs_handle_struct *handle, files_struct *fsp)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CLOSE(handle, fsp);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("close", timediff);
files_struct *fsp, void *data, size_t n)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_READ(handle, fsp, data, n);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("read", timediff);
void *data, size_t n, SMB_OFF_T offset)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_PREAD(handle, fsp, data, n, offset);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("pread", timediff);
const void *data, size_t n)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_WRITE(handle, fsp, data, n);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("write", timediff);
SMB_OFF_T offset)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_PWRITE(handle, fsp, data, n, offset);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("pwrite", timediff);
SMB_OFF_T offset, int whence)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LSEEK(handle, fsp, offset, whence);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("lseek", timediff);
size_t n)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SENDFILE(handle, tofd, fromfsp, hdr, offset, n);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sendfile", timediff);
size_t n)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_RECVFILE(handle, fromfd, tofsp, offset, n);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("recvfile", timediff);
const struct smb_filename *newname)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_RENAME(handle, oldname, newname);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("rename", timediff);
static int smb_time_audit_fsync(vfs_handle_struct *handle, files_struct *fsp)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FSYNC(handle, fsp);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fsync", timediff);
struct smb_filename *fname)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_STAT(handle, fname);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("stat", timediff);
SMB_STRUCT_STAT *sbuf)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FSTAT(handle, fsp, sbuf);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fstat", timediff);
struct smb_filename *path)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LSTAT(handle, path);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("lstat", timediff);
const SMB_STRUCT_STAT *sbuf)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_GET_ALLOC_SIZE(handle, fsp, sbuf);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("get_alloc_size", timediff);
const struct smb_filename *path)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_UNLINK(handle, path);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("unlink", timediff);
const char *path, mode_t mode)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CHMOD(handle, path, mode);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("chmod", timediff);
mode_t mode)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FCHMOD(handle, fsp, mode);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fchmod", timediff);
const char *path, uid_t uid, gid_t gid)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CHOWN(handle, path, uid, gid);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("chown", timediff);
uid_t uid, gid_t gid)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FCHOWN(handle, fsp, uid, gid);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fchown", timediff);
const char *path, uid_t uid, gid_t gid)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LCHOWN(handle, path, uid, gid);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("lchown", timediff);
static int smb_time_audit_chdir(vfs_handle_struct *handle, const char *path)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CHDIR(handle, path);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1);
if (timediff > audit_timeout) {
- smb_time_audit_log("chdir", timediff);
+ smb_time_audit_log("chdir", timediff*1.0e-9);
}
return result;
static char *smb_time_audit_getwd(vfs_handle_struct *handle, char *path)
{
char *result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_GETWD(handle, path);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("getwd", timediff);
struct smb_file_time *ft)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_NTIMES(handle, path, ft);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("ntimes", timediff);
SMB_OFF_T len)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FTRUNCATE(handle, fsp, len);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("ftruncate", timediff);
int type)
{
bool result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LOCK(handle, fsp, op, offset, count, type);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("lock", timediff);
uint32 share_mode, uint32 access_mask)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_KERNEL_FLOCK(handle, fsp, share_mode,
access_mask);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("kernel_flock", timediff);
int leasetype)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LINUX_SETLEASE(handle, fsp, leasetype);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("linux_setlease", timediff);
int *ptype, pid_t *ppid)
{
bool result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_GETLOCK(handle, fsp, poffset, pcount, ptype,
ppid);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("getlock", timediff);
const char *oldpath, const char *newpath)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYMLINK(handle, oldpath, newpath);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("symlink", timediff);
const char *path, char *buf, size_t bufsiz)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_READLINK(handle, path, buf, bufsiz);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("readlink", timediff);
const char *oldpath, const char *newpath)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LINK(handle, oldpath, newpath);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("link", timediff);
SMB_DEV_T dev)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_MKNOD(handle, pathname, mode, dev);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("mknod", timediff);
const char *path, char *resolved_path)
{
char *result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_REALPATH(handle, path, resolved_path);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("realpath", timediff);
void *private_data, void *handle_p)
{
NTSTATUS result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_NOTIFY_WATCH(handle, ctx, e, callback,
private_data, handle_p);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("notify_watch", timediff);
const char *path, unsigned int flags)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CHFLAGS(handle, path, flags);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("chflags", timediff);
{
struct file_id id_zero;
struct file_id result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
ZERO_STRUCT(id_zero);
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FILE_ID_CREATE(handle, sbuf);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("file_id_create", timediff);
struct stream_struct **pstreams)
{
NTSTATUS result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_STREAMINFO(handle, fsp, fname, mem_ctx,
pnum_streams, pstreams);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("streaminfo", timediff);
char **found_name)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_GET_REAL_FILENAME(handle, path, name, mem_ctx,
found_name);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("get_real_filename", timediff);
const char *fname)
{
const char *result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CONNECTPATH(handle, fname);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("connectpath", timediff);
struct blocking_lock_record *blr)
{
NTSTATUS result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_BRL_LOCK_WINDOWS(handle, br_lck, plock,
blocking_lock, blr);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("brl_lock_windows", timediff);
const struct lock_struct *plock)
{
bool result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_BRL_UNLOCK_WINDOWS(handle, msg_ctx, br_lck,
plock);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("brl_unlock_windows", timediff);
struct blocking_lock_record *blr)
{
bool result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_BRL_CANCEL_WINDOWS(handle, br_lck, plock, blr);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("brl_cancel_windows", timediff);
struct lock_struct *plock)
{
bool result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_STRICT_LOCK(handle, fsp, plock);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("strict_lock", timediff);
struct files_struct *fsp,
struct lock_struct *plock)
{
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
SMB_VFS_NEXT_STRICT_UNLOCK(handle, fsp, plock);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("strict_unlock", timediff);
char **mapped_name)
{
NTSTATUS result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_TRANSLATE_NAME(handle, name, direction, mem_ctx,
mapped_name);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("translate_name", timediff);
struct security_descriptor **ppdesc)
{
NTSTATUS result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FGET_NT_ACL(handle, fsp, security_info, ppdesc);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fget_nt_acl", timediff);
struct security_descriptor **ppdesc)
{
NTSTATUS result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_GET_NT_ACL(handle, name, security_info, ppdesc);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("get_nt_acl", timediff);
const struct security_descriptor *psd)
{
NTSTATUS result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FSET_NT_ACL(handle, fsp, security_info_sent,
psd);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fset_nt_acl", timediff);
const char *path, mode_t mode)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_CHMOD_ACL(handle, path, mode);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("chmod_acl", timediff);
files_struct *fsp, mode_t mode)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FCHMOD_ACL(handle, fsp, mode);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fchmod_acl", timediff);
SMB_ACL_ENTRY_T *entry_p)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_GET_ENTRY(handle, theacl, entry_id,
entry_p);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_get_entry", timediff);
SMB_ACL_TAG_T *tag_type_p)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_GET_TAG_TYPE(handle, entry_d,
tag_type_p);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_get_tag_type", timediff);
SMB_ACL_PERMSET_T *permset_p)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_GET_PERMSET(handle, entry_d,
permset_p);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_get_permset", timediff);
SMB_ACL_ENTRY_T entry_d)
{
void *result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_GET_QUALIFIER(handle, entry_d);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_get_qualifier", timediff);
SMB_ACL_TYPE_T type)
{
SMB_ACL_T result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, path_p, type);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_get_file", timediff);
files_struct *fsp)
{
SMB_ACL_T result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_GET_FD(handle, fsp);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_get_fd", timediff);
SMB_ACL_PERMSET_T permset)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_CLEAR_PERMS(handle, permset);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_clear_perms", timediff);
SMB_ACL_PERM_T perm)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_ADD_PERM(handle, permset, perm);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_add_perm", timediff);
ssize_t *plen)
{
char * result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_TO_TEXT(handle, theacl, plen);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_to_text", timediff);
int count)
{
SMB_ACL_T result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_INIT(handle, count);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_init", timediff);
SMB_ACL_ENTRY_T *pentry)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_CREATE_ENTRY(handle, pacl, pentry);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_create_entry", timediff);
SMB_ACL_TAG_T tagtype)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_SET_TAG_TYPE(handle, entry,
tagtype);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_set_tag_type", timediff);
void *qual)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_SET_QUALIFIER(handle, entry, qual);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_set_qualifier", timediff);
SMB_ACL_PERMSET_T permset)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_SET_PERMSET(handle, entry, permset);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_set_permset", timediff);
SMB_ACL_T theacl)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_VALID(handle, theacl);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_valid", timediff);
SMB_ACL_T theacl)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, name, acltype,
theacl);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_set_file", timediff);
SMB_ACL_T theacl)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, theacl);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_set_fd", timediff);
const char *path)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, path);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_delete_def_file", timediff);
SMB_ACL_PERM_T perm)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_GET_PERM(handle, permset, perm);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_get_perm", timediff);
char *text)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_FREE_TEXT(handle, text);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_free_text", timediff);
SMB_ACL_T posix_acl)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_FREE_ACL(handle, posix_acl);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_free_acl", timediff);
SMB_ACL_TAG_T tagtype)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SYS_ACL_FREE_QUALIFIER(handle, qualifier,
tagtype);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("sys_acl_free_qualifier", timediff);
void *value, size_t size)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_GETXATTR(handle, path, name, value, size);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("getxattr", timediff);
void *value, size_t size)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LGETXATTR(handle, path, name, value, size);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("lgetxattr", timediff);
size_t size)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FGETXATTR(handle, fsp, name, value, size);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fgetxattr", timediff);
size_t size)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LISTXATTR(handle, path, list, size);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("listxattr", timediff);
size_t size)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LLISTXATTR(handle, path, list, size);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("llistxattr", timediff);
size_t size)
{
ssize_t result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FLISTXATTR(handle, fsp, list, size);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("flistxattr", timediff);
const char *path, const char *name)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_REMOVEXATTR(handle, path, name);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("removexattr", timediff);
const char *path, const char *name)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LREMOVEXATTR(handle, path, name);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("lremovexattr", timediff);
const char *name)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FREMOVEXATTR(handle, fsp, name);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fremovexattr", timediff);
int flags)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_SETXATTR(handle, path, name, value, size,
flags);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("setxattr", timediff);
int flags)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_LSETXATTR(handle, path, name, value, size,
flags);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("lsetxattr", timediff);
const void *value, size_t size, int flags)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_FSETXATTR(handle, fsp, name, value, size, flags);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("fsetxattr", timediff);
SMB_STRUCT_AIOCB *aiocb)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_AIO_READ(handle, fsp, aiocb);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("aio_read", timediff);
SMB_STRUCT_AIOCB *aiocb)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_AIO_WRITE(handle, fsp, aiocb);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("aio_write", timediff);
SMB_STRUCT_AIOCB *aiocb)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_AIO_RETURN(handle, fsp, aiocb);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("aio_return", timediff);
SMB_STRUCT_AIOCB *aiocb)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_AIO_CANCEL(handle, fsp, aiocb);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("aio_cancel", timediff);
SMB_STRUCT_AIOCB *aiocb)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_AIO_ERROR(handle, fsp, aiocb);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("aio_error", timediff);
SMB_STRUCT_AIOCB *aiocb)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_AIO_FSYNC(handle, fsp, op, aiocb);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("aio_fsync", timediff);
int n, const struct timespec *ts)
{
int result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_AIO_SUSPEND(handle, fsp, aiocb, n, ts);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("aio_suspend", timediff);
struct files_struct *fsp)
{
bool result;
- struct timeval tv;
+ struct timespec ts1,ts2;
double timediff;
- GetTimeOfDay(&tv);
+ clock_gettime_mono(&ts1);
result = SMB_VFS_NEXT_AIO_FORCE(handle, fsp);
- timediff = timeval_elapsed(&tv);
+ clock_gettime_mono(&ts2);
+ timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
if (timediff > audit_timeout) {
smb_time_audit_log("aio_force", timediff);