diff options
Diffstat (limited to 'source3/include/smb.h')
-rw-r--r-- | source3/include/smb.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h index 317f31b19e..c9180dd50c 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -36,8 +36,9 @@ #define BUFFER_SIZE (0xFFFF) #define SAFETY_MARGIN 1024 -#ifndef EXTERN -# define EXTERN extern +/* size of shared memory used for share mode locking */ +#ifndef SHMEM_SIZE +#define SHMEM_SIZE 102400 #endif #define NMB_PORT 137 @@ -53,6 +54,11 @@ typedef int BOOL; +/* offset in shared memory */ +typedef int shm_offset_t; +#define NULL_OFFSET (shm_offset_t)(0) + + /* Samba needs type definitions for int16, int32, uint16 and uint32. @@ -106,7 +112,7 @@ typedef unsigned int uint32; #ifndef SYSLOG #define DEBUG(level,body) ((DEBUGLEVEL>=(level))?(Debug1 body):0) #else -EXTERN int syslog_level; +extern int syslog_level; #define DEBUG(level,body) ((DEBUGLEVEL>=(level))? (syslog_level = (level), Debug1 body):0) #endif @@ -395,6 +401,20 @@ struct interface struct in_addr nmask; }; +/* share mode record in shared memory */ +typedef struct +{ + shm_offset_t next_offset; /* offset of next record in list in shared mem */ + int locking_version; + int share_mode; + time_t time; + int pid; + dev_t st_dev; + ino_t st_ino; + char file_name[1]; /* dynamically allocated with correct size */ +} share_mode_record; + + /* this is used for smbstatus */ struct connect_record { |