1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

s3:include: move struct connection_struct (and sub structs) to vfs.h

metze
This commit is contained in:
Stefan Metzmacher 2012-06-05 10:28:49 +02:00
parent f88d13b16f
commit 5fc502c624
3 changed files with 94 additions and 94 deletions

View File

@ -151,106 +151,13 @@ struct sys_notify_context {
#include "ntquotas.h"
#include "sysquotas.h"
struct vuid_cache_entry {
struct auth_session_info *session_info;
uint16_t vuid;
bool read_only;
};
struct vuid_cache {
unsigned int next_entry;
struct vuid_cache_entry array[VUID_CACHE_SIZE];
};
typedef struct {
char *name;
bool is_wild;
} name_compare_entry;
/* Include VFS stuff */
#include "smb_acls.h"
#include "vfs.h"
struct dfree_cached_info {
time_t last_dfree_time;
uint64_t dfree_ret;
uint64_t bsize;
uint64_t dfree;
uint64_t dsize;
};
struct dptr_struct;
struct share_params {
int service;
};
typedef struct connection_struct {
struct connection_struct *next, *prev;
struct smbd_server_connection *sconn; /* can be NULL */
unsigned cnum; /* an index passed over the wire */
struct share_params *params;
bool force_user;
struct vuid_cache vuid_cache;
bool printer;
bool ipc;
bool read_only; /* Attributes for the current user of the share. */
uint32_t share_access;
/* Does this filesystem honor
sub second timestamps on files
and directories when setting time ? */
enum timestamp_set_resolution ts_res;
char *connectpath;
char *origpath;
struct vfs_handle_struct *vfs_handles; /* for the new plugins */
/*
* This represents the user information on this connection. Depending
* on the vuid using this tid, this might change per SMB request.
*/
struct auth_session_info *session_info;
/*
* If the "force group" parameter is set, this is the primary gid that
* may be used in the users token, depending on the vuid using this tid.
*/
gid_t force_group_gid;
uint16 vuid; /* vuid of user who *opened* this connection, or UID_FIELD_INVALID */
time_t lastused;
time_t lastused_count;
int num_files_open;
unsigned int num_smb_operations; /* Count of smb operations on this tree. */
int encrypt_level;
bool encrypted_tid;
/* Semantics requested by the client or forced by the server config. */
bool case_sensitive;
bool case_preserve;
bool short_case_preserve;
/* Semantics provided by the underlying filesystem. */
int fs_capabilities;
/* Device number of the directory of the share mount.
Used to ensure unique FileIndex returns. */
SMB_DEV_T base_share_dev;
name_compare_entry *hide_list; /* Per-share list of files to return as hidden. */
name_compare_entry *veto_list; /* Per-share list of files to veto (never show). */
name_compare_entry *veto_oplock_list; /* Per-share list of files to refuse oplocks on. */
name_compare_entry *aio_write_behind_list; /* Per-share list of files to use aio write behind on. */
struct dfree_cached_info *dfree_info;
struct trans_state *pending_trans;
struct rpc_pipe_client *spoolss_pipe;
} connection_struct;
struct current_user {
connection_struct *conn;
struct connection_struct *conn;
uint16 vuid;
struct security_unix_token ut;
struct security_token *nt_user_token;

View File

@ -249,6 +249,97 @@ typedef struct files_struct {
} files_struct;
struct vuid_cache_entry {
struct auth_session_info *session_info;
uint16_t vuid;
bool read_only;
};
struct vuid_cache {
unsigned int next_entry;
struct vuid_cache_entry array[VUID_CACHE_SIZE];
};
typedef struct {
char *name;
bool is_wild;
} name_compare_entry;
struct dfree_cached_info {
time_t last_dfree_time;
uint64_t dfree_ret;
uint64_t bsize;
uint64_t dfree;
uint64_t dsize;
};
struct share_params {
int service;
};
typedef struct connection_struct {
struct connection_struct *next, *prev;
struct smbd_server_connection *sconn; /* can be NULL */
unsigned cnum; /* an index passed over the wire */
struct share_params *params;
bool force_user;
struct vuid_cache vuid_cache;
bool printer;
bool ipc;
bool read_only; /* Attributes for the current user of the share. */
uint32_t share_access;
/* Does this filesystem honor
sub second timestamps on files
and directories when setting time ? */
enum timestamp_set_resolution ts_res;
char *connectpath;
char *origpath;
struct vfs_handle_struct *vfs_handles; /* for the new plugins */
/*
* This represents the user information on this connection. Depending
* on the vuid using this tid, this might change per SMB request.
*/
struct auth_session_info *session_info;
/*
* If the "force group" parameter is set, this is the primary gid that
* may be used in the users token, depending on the vuid using this tid.
*/
gid_t force_group_gid;
uint16 vuid; /* vuid of user who *opened* this connection, or UID_FIELD_INVALID */
time_t lastused;
time_t lastused_count;
int num_files_open;
unsigned int num_smb_operations; /* Count of smb operations on this tree. */
int encrypt_level;
bool encrypted_tid;
/* Semantics requested by the client or forced by the server config. */
bool case_sensitive;
bool case_preserve;
bool short_case_preserve;
/* Semantics provided by the underlying filesystem. */
int fs_capabilities;
/* Device number of the directory of the share mount.
Used to ensure unique FileIndex returns. */
SMB_DEV_T base_share_dev;
name_compare_entry *hide_list; /* Per-share list of files to return as hidden. */
name_compare_entry *veto_list; /* Per-share list of files to veto (never show). */
name_compare_entry *veto_oplock_list; /* Per-share list of files to refuse oplocks on. */
name_compare_entry *aio_write_behind_list; /* Per-share list of files to use aio write behind on. */
struct dfree_cached_info *dfree_info;
struct trans_state *pending_trans;
struct rpc_pipe_client *spoolss_pipe;
} connection_struct;
/*
* Info about an alternate data stream
*/

View File

@ -19,6 +19,8 @@
#ifndef _SMBD_SMBD_H
#define _SMBD_SMBD_H
struct dptr_struct;
#include "smb_acls.h"
#include "vfs.h"
#include "smbd/proto.h"