summaryrefslogtreecommitdiff
path: root/source3/smbd/oplock.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-08-31 20:20:54 +0000
committerJeremy Allison <jra@samba.org>1998-08-31 20:20:54 +0000
commit693480af8bb2d3e83566af9463ca427f47a879da (patch)
treecb7070685621c8b4ffd651c8108e1450bf3272d9 /source3/smbd/oplock.c
parentd2e0d0f73bfce64665feb386e2cc4032258ad437 (diff)
downloadsamba-693480af8bb2d3e83566af9463ca427f47a879da.tar.gz
samba-693480af8bb2d3e83566af9463ca427f47a879da.tar.bz2
samba-693480af8bb2d3e83566af9463ca427f47a879da.zip
configure.in, configure: include/config.h.in: Added stropts and poll.
include/smb.h: Moved old typedefs of uint8 etc. into include/includes.h where all the other defines live (changed them from typedefs to defines). Other changes : changed from using uint32 to SMB_DEV_T and SMB_INO_T in preparation for moving to size independed (ie. 64 bit clean) device and inode access. Stat call wrapper comes next :-). Jeremy. (This used to be commit 3d9ec96de5e04e83abafe9c5d980bd39eee856ea)
Diffstat (limited to 'source3/smbd/oplock.c')
-rw-r--r--source3/smbd/oplock.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index d9df308a35..ab88b82953 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -105,8 +105,11 @@ should be %d).\n", msg_len, OPLOCK_BREAK_MSG_LEN));
}
{
uint32 remotepid = IVAL(msg_start,OPLOCK_BREAK_PID_OFFSET);
- uint32 dev = IVAL(msg_start,OPLOCK_BREAK_DEV_OFFSET);
- uint32 inode = IVAL(msg_start, OPLOCK_BREAK_INODE_OFFSET);
+ /*
+ * Warning - this will need to be changed if SMB_DEV_T/SMB_INO_T <> 4 bytes. !!
+ */
+ SMB_DEV_T dev = IVAL(msg_start,OPLOCK_BREAK_DEV_OFFSET);
+ SMB_INO_T inode = IVAL(msg_start, OPLOCK_BREAK_INODE_OFFSET);
struct timeval tval;
struct sockaddr_in toaddr;
@@ -176,8 +179,11 @@ reply - dumping info.\n"));
{
uint32 remotepid = IVAL(msg_start,OPLOCK_BREAK_PID_OFFSET);
- uint32 dev = IVAL(msg_start,OPLOCK_BREAK_DEV_OFFSET);
- uint32 inode = IVAL(msg_start, OPLOCK_BREAK_INODE_OFFSET);
+ /*
+ * Warning - this will need to be changed if SMB_DEV_T/SMB_INO_T <> 4 bytes. !!
+ */
+ SMB_DEV_T dev = IVAL(msg_start,OPLOCK_BREAK_DEV_OFFSET);
+ SMB_INO_T inode = IVAL(msg_start, OPLOCK_BREAK_INODE_OFFSET);
DEBUG(0,("process_local_message: unsolicited oplock break reply from \
pid %d, port %d, dev = %x, inode = %x\n", remotepid, from_port, dev, inode));
@@ -196,7 +202,7 @@ pid %d, port %d, dev = %x, inode = %x\n", remotepid, from_port, dev, inode));
/****************************************************************************
Process an oplock break directly.
****************************************************************************/
-BOOL oplock_break(uint32 dev, uint32 inode, struct timeval *tval)
+BOOL oplock_break(SMB_DEV_T dev, SMB_INO_T inode, struct timeval *tval)
{
extern struct current_user current_user;
extern int Client;
@@ -458,7 +464,7 @@ by the local smbd then call the oplock break function directly.
****************************************************************************/
BOOL request_oplock_break(share_mode_entry *share_entry,
- uint32 dev, uint32 inode)
+ SMB_DEV_T dev, SMB_INO_T inode)
{
char op_break_msg[OPLOCK_BREAK_MSG_LEN];
struct sockaddr_in addr_out;
@@ -487,10 +493,13 @@ should be %d\n", pid, share_entry->op_port, oplock_port));
SSVAL(op_break_msg,UDP_MESSAGE_CMD_OFFSET,OPLOCK_BREAK_CMD);
SIVAL(op_break_msg,OPLOCK_BREAK_PID_OFFSET,pid);
- SIVAL(op_break_msg,OPLOCK_BREAK_DEV_OFFSET,dev);
- SIVAL(op_break_msg,OPLOCK_BREAK_INODE_OFFSET,inode);
SIVAL(op_break_msg,OPLOCK_BREAK_SEC_OFFSET,(uint32)share_entry->time.tv_sec);
SIVAL(op_break_msg,OPLOCK_BREAK_USEC_OFFSET,(uint32)share_entry->time.tv_usec);
+ /*
+ * WARNING - this will need to be changed if SMB_DEV_T/SMB_INO_T <> 4 bytes.
+ */
+ SIVAL(op_break_msg,OPLOCK_BREAK_DEV_OFFSET,dev);
+ SIVAL(op_break_msg,OPLOCK_BREAK_INODE_OFFSET,inode);
/* set the address and port */
bzero((char *)&addr_out,sizeof(addr_out));