summaryrefslogtreecommitdiff
path: root/source3/smbd/files.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/files.c')
-rw-r--r--source3/smbd/files.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/source3/smbd/files.c b/source3/smbd/files.c
index f0fd6b7a73..1fe6f250e5 100644
--- a/source3/smbd/files.c
+++ b/source3/smbd/files.c
@@ -143,6 +143,22 @@ void file_close_conn(connection_struct *conn)
}
/****************************************************************************
+ Close all open files for a pid.
+****************************************************************************/
+
+void file_close_pid(uint16 smbpid)
+{
+ files_struct *fsp, *next;
+
+ for (fsp=Files;fsp;fsp=next) {
+ next = fsp->next;
+ if (fsp->file_pid == smbpid) {
+ close_file(fsp,False);
+ }
+ }
+}
+
+/****************************************************************************
Initialise file structures.
****************************************************************************/
@@ -200,6 +216,18 @@ void file_close_user(int vuid)
}
}
+void file_dump_open_table(void)
+{
+ int count=0;
+ files_struct *fsp;
+
+ for (fsp=Files;fsp;fsp=fsp->next,count++) {
+ DEBUG(10,("Files[%d], fnum = %d, name %s, fd = %d, fileid = %lu, dev = %x, inode = %.0f\n",
+ count, fsp->fnum, fsp->fsp_name, fsp->fd, (unsigned long)fsp->file_id,
+ (unsigned int)fsp->dev, (double)fsp->inode ));
+ }
+}
+
/****************************************************************************
Find a fsp given a file descriptor.
****************************************************************************/