aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsproto.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/cifsproto.h')
-rw-r--r--fs/cifs/cifsproto.h33
1 files changed, 21 insertions, 12 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index 1a883663b22d..2f09f565a3d9 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * fs/cifs/cifsproto.h 2 * fs/cifs/cifsproto.h
3 * 3 *
4 * Copyright (c) International Business Machines Corp., 2002,2007 4 * Copyright (c) International Business Machines Corp., 2002,2008
5 * Author(s): Steve French (sfrench@us.ibm.com) 5 * Author(s): Steve French (sfrench@us.ibm.com)
6 * 6 *
7 * This library is free software; you can redistribute it and/or modify 7 * This library is free software; you can redistribute it and/or modify
@@ -48,10 +48,11 @@ extern int SendReceive(const unsigned int /* xid */ , struct cifsSesInfo *,
48 struct smb_hdr * /* input */ , 48 struct smb_hdr * /* input */ ,
49 struct smb_hdr * /* out */ , 49 struct smb_hdr * /* out */ ,
50 int * /* bytes returned */ , const int long_op); 50 int * /* bytes returned */ , const int long_op);
51extern int SendReceiveNoRsp(const unsigned int xid, struct cifsSesInfo *ses,
52 struct smb_hdr *in_buf, int flags);
51extern int SendReceive2(const unsigned int /* xid */ , struct cifsSesInfo *, 53extern int SendReceive2(const unsigned int /* xid */ , struct cifsSesInfo *,
52 struct kvec *, int /* nvec to send */, 54 struct kvec *, int /* nvec to send */,
53 int * /* type of buf returned */ , const int long_op, 55 int * /* type of buf returned */ , const int flags);
54 const int logError /* whether to log status code*/ );
55extern int SendReceiveBlockingLock(const unsigned int /* xid */ , 56extern int SendReceiveBlockingLock(const unsigned int /* xid */ ,
56 struct cifsTconInfo *, 57 struct cifsTconInfo *,
57 struct smb_hdr * /* input */ , 58 struct smb_hdr * /* input */ ,
@@ -61,6 +62,9 @@ extern int checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length);
61extern int is_valid_oplock_break(struct smb_hdr *smb, struct TCP_Server_Info *); 62extern int is_valid_oplock_break(struct smb_hdr *smb, struct TCP_Server_Info *);
62extern int is_size_safe_to_change(struct cifsInodeInfo *, __u64 eof); 63extern int is_size_safe_to_change(struct cifsInodeInfo *, __u64 eof);
63extern struct cifsFileInfo *find_writable_file(struct cifsInodeInfo *); 64extern struct cifsFileInfo *find_writable_file(struct cifsInodeInfo *);
65#ifdef CONFIG_CIFS_EXPERIMENTAL
66extern struct cifsFileInfo *find_readable_file(struct cifsInodeInfo *);
67#endif
64extern unsigned int smbCalcSize(struct smb_hdr *ptr); 68extern unsigned int smbCalcSize(struct smb_hdr *ptr);
65extern unsigned int smbCalcSize_LE(struct smb_hdr *ptr); 69extern unsigned int smbCalcSize_LE(struct smb_hdr *ptr);
66extern int decode_negTokenInit(unsigned char *security_blob, int length, 70extern int decode_negTokenInit(unsigned char *security_blob, int length,
@@ -92,10 +96,15 @@ extern int cifs_get_inode_info(struct inode **pinode,
92extern int cifs_get_inode_info_unix(struct inode **pinode, 96extern int cifs_get_inode_info_unix(struct inode **pinode,
93 const unsigned char *search_path, 97 const unsigned char *search_path,
94 struct super_block *sb, int xid); 98 struct super_block *sb, int xid);
99extern void acl_to_uid_mode(struct inode *inode, const char *search_path);
100extern int mode_to_acl(struct inode *inode, const char *path, __u64);
95 101
96extern int cifs_mount(struct super_block *, struct cifs_sb_info *, char *, 102extern int cifs_mount(struct super_block *, struct cifs_sb_info *, char *,
97 const char *); 103 const char *);
98extern int cifs_umount(struct super_block *, struct cifs_sb_info *); 104extern int cifs_umount(struct super_block *, struct cifs_sb_info *);
105#ifdef CONFIG_CIFS_DFS_UPCALL
106extern void dfs_shrink_umount_helper(struct vfsmount *vfsmnt);
107#endif
99void cifs_proc_init(void); 108void cifs_proc_init(void);
100void cifs_proc_clean(void); 109void cifs_proc_clean(void);
101 110
@@ -147,7 +156,7 @@ extern int get_dfs_path(int xid, struct cifsSesInfo *pSesInfo,
147 const char *old_path, 156 const char *old_path,
148 const struct nls_table *nls_codepage, 157 const struct nls_table *nls_codepage,
149 unsigned int *pnum_referrals, 158 unsigned int *pnum_referrals,
150 unsigned char **preferrals, 159 struct dfs_info3_param **preferrals,
151 int remap); 160 int remap);
152extern void reset_cifs_unix_caps(int xid, struct cifsTconInfo *tcon, 161extern void reset_cifs_unix_caps(int xid, struct cifsTconInfo *tcon,
153 struct super_block *sb, struct smb_vol *vol); 162 struct super_block *sb, struct smb_vol *vol);
@@ -241,15 +250,15 @@ extern int CIFSSMBQueryReparseLinkInfo(const int xid,
241extern int CIFSSMBOpen(const int xid, struct cifsTconInfo *tcon, 250extern int CIFSSMBOpen(const int xid, struct cifsTconInfo *tcon,
242 const char *fileName, const int disposition, 251 const char *fileName, const int disposition,
243 const int access_flags, const int omode, 252 const int access_flags, const int omode,
244 __u16 * netfid, int *pOplock, FILE_ALL_INFO *, 253 __u16 *netfid, int *pOplock, FILE_ALL_INFO *,
245 const struct nls_table *nls_codepage, int remap); 254 const struct nls_table *nls_codepage, int remap);
246extern int SMBLegacyOpen(const int xid, struct cifsTconInfo *tcon, 255extern int SMBLegacyOpen(const int xid, struct cifsTconInfo *tcon,
247 const char *fileName, const int disposition, 256 const char *fileName, const int disposition,
248 const int access_flags, const int omode, 257 const int access_flags, const int omode,
249 __u16 * netfid, int *pOplock, FILE_ALL_INFO *, 258 __u16 *netfid, int *pOplock, FILE_ALL_INFO *,
250 const struct nls_table *nls_codepage, int remap); 259 const struct nls_table *nls_codepage, int remap);
251extern int CIFSPOSIXCreate(const int xid, struct cifsTconInfo *tcon, 260extern int CIFSPOSIXCreate(const int xid, struct cifsTconInfo *tcon,
252 u32 posix_flags, __u64 mode, __u16 * netfid, 261 u32 posix_flags, __u64 mode, __u16 *netfid,
253 FILE_UNIX_BASIC_INFO *pRetData, 262 FILE_UNIX_BASIC_INFO *pRetData,
254 __u32 *pOplock, const char *name, 263 __u32 *pOplock, const char *name,
255 const struct nls_table *nls_codepage, int remap); 264 const struct nls_table *nls_codepage, int remap);
@@ -270,7 +279,7 @@ extern int CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon,
270 const __u64 offset, unsigned int *nbytes, 279 const __u64 offset, unsigned int *nbytes,
271 struct kvec *iov, const int nvec, const int long_op); 280 struct kvec *iov, const int nvec, const int long_op);
272extern int CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon, 281extern int CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon,
273 const unsigned char *searchName, __u64 * inode_number, 282 const unsigned char *searchName, __u64 *inode_number,
274 const struct nls_table *nls_codepage, 283 const struct nls_table *nls_codepage,
275 int remap_special_chars); 284 int remap_special_chars);
276extern int cifs_convertUCSpath(char *target, const __le16 *source, int maxlen, 285extern int cifs_convertUCSpath(char *target, const __le16 *source, int maxlen,
@@ -311,7 +320,6 @@ extern void setup_ntlmv2_rsp(struct cifsSesInfo *, char *,
311#ifdef CONFIG_CIFS_WEAK_PW_HASH 320#ifdef CONFIG_CIFS_WEAK_PW_HASH
312extern void calc_lanman_hash(struct cifsSesInfo *ses, char *lnm_session_key); 321extern void calc_lanman_hash(struct cifsSesInfo *ses, char *lnm_session_key);
313#endif /* CIFS_WEAK_PW_HASH */ 322#endif /* CIFS_WEAK_PW_HASH */
314extern int parse_sec_desc(struct cifs_ntsd *, int);
315extern int CIFSSMBCopy(int xid, 323extern int CIFSSMBCopy(int xid,
316 struct cifsTconInfo *source_tcon, 324 struct cifsTconInfo *source_tcon,
317 const char *fromName, 325 const char *fromName,
@@ -336,8 +344,9 @@ extern int CIFSSMBSetEA(const int xid, struct cifsTconInfo *tcon,
336 const void *ea_value, const __u16 ea_value_len, 344 const void *ea_value, const __u16 ea_value_len,
337 const struct nls_table *nls_codepage, int remap_special_chars); 345 const struct nls_table *nls_codepage, int remap_special_chars);
338extern int CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, 346extern int CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon,
339 __u16 fid, char *acl_inf, const int buflen, 347 __u16 fid, struct cifs_ntsd **acl_inf, __u32 *buflen);
340 const int acl_type /* ACCESS vs. DEFAULT */); 348extern int CIFSSMBSetCIFSACL(const int, struct cifsTconInfo *, __u16,
349 struct cifs_ntsd *, __u32);
341extern int CIFSSMBGetPosixACL(const int xid, struct cifsTconInfo *tcon, 350extern int CIFSSMBGetPosixACL(const int xid, struct cifsTconInfo *tcon,
342 const unsigned char *searchName, 351 const unsigned char *searchName,
343 char *acl_inf, const int buflen, const int acl_type, 352 char *acl_inf, const int buflen, const int acl_type,
@@ -347,5 +356,5 @@ extern int CIFSSMBSetPosixACL(const int xid, struct cifsTconInfo *tcon,
347 const char *local_acl, const int buflen, const int acl_type, 356 const char *local_acl, const int buflen, const int acl_type,
348 const struct nls_table *nls_codepage, int remap_special_chars); 357 const struct nls_table *nls_codepage, int remap_special_chars);
349extern int CIFSGetExtAttr(const int xid, struct cifsTconInfo *tcon, 358extern int CIFSGetExtAttr(const int xid, struct cifsTconInfo *tcon,
350 const int netfid, __u64 * pExtAttrBits, __u64 *pMask); 359 const int netfid, __u64 *pExtAttrBits, __u64 *pMask);
351#endif /* _CIFSPROTO_H */ 360#endif /* _CIFSPROTO_H */