s3:smb: change the value of TID_FIELD_INVALID from -1 to 0
[kai/samba.git] / source3 / include / msdfs.h
index df2ea5a6e4a58c3270f5ca0bb5a88856043f4f5c..b3892291272ef06ef0451f358e693162b14377bf 100644 (file)
@@ -6,7 +6,7 @@
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
@@ -15,8 +15,8 @@
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+   
 */
 
 #ifndef _MSDFS_H
 
 /* Maximum number of referrals for each Dfs volume */
 #define MAX_REFERRAL_COUNT   256
+#define MAX_MSDFS_JUNCTIONS 256
 
-struct referral
-{
-       pstring alternate_path; /* contains the path referred */
+struct client_dfs_referral {
        uint32 proximity;
-       uint32 ttl; /* how long should client cache referral */
+       uint32 ttl;
+       char *dfspath;
 };
 
-struct junction_map
-{
-  pstring service_name;
-  pstring volume_name;
-  int referral_count;
-  struct referral* referral_list;
+struct referral {
+       char *alternate_path; /* contains the path referred */
+       uint32 proximity;
+       uint32 ttl; /* how long should client cache referral */
 };
 
-struct dfs_path
-{
-  pstring hostname;
-  pstring servicename;
-  pstring volumename;
-  pstring restofthepath;
+struct junction_map {
+       char *service_name;
+       char *volume_name;
+       const char *comment;
+       int referral_count;
+       struct referral* referral_list;
 };
 
-#define RESOLVE_DFSPATH(name, conn, inbuf, outbuf) \
-{ if(((SVAL(inbuf,smb_flg2) & FLAGS2_DFS_PATHNAMES)) && \
-     dfs_redirect(name,conn)) \
-     return ERROR_NT(NT_STATUS_PATH_NOT_COVERED); }
-
-#define RESOLVE_FINDFIRST_DFSPATH(name, conn, inbuf, outbuf) \
-{ if((SVAL(inbuf,smb_flg2) & FLAGS2_DFS_PATHNAMES) || \
-     get_remote_arch()==RA_WIN95) \
-      if(dfs_findfirst_redirect(directory,conn)) \
-        return ERROR_NT(NT_STATUS_PATH_NOT_COVERED); }
-#define init_dfsroot(conn, inbuf, outbuf) \
-{ if(lp_msdfs_root(SNUM(conn)) && lp_host_msdfs())  \
-       SSVAL(outbuf, smb_vwv2, SMB_SHARE_IN_DFS | SMB_SUPPORT_SEARCH_BITS); \
-}
+struct dfs_path {
+       char *hostname;
+       char *servicename;
+       char *reqpath;
+       bool posix_path;
+};
 
 #endif /* _MSDFS_H */