csc_policy_logon_updates-20040503
[openafs.git] / src / WINNT / afsd / smb.h
index e3a9c20..caa7c13 100644 (file)
@@ -208,6 +208,10 @@ typedef struct smb_ioctl {
 
         /* fid pointer */
         struct smb_fid *fidp;
+
+  /* uid pointer */
+  smb_user_t *uidp;
+
 } smb_ioctl_t;
 
 /* flags for smb_ioctl_t */
@@ -254,6 +258,18 @@ typedef struct smb_fid {
 #define SMB_FID_LOOKSLIKECOPY  (SMB_FID_LENGTHSETDONE | SMB_FID_MTIMESETDONE)
 #define SMB_FID_NTOPEN                 0x100   /* have dscp and pathp */
 
+/*
+ * SMB file attributes
+ */
+#define SMB_ATTR_ARCHIVE  0x20
+#define SMB_ATTR_COMPRESSED 0x800 /* file or dir is compressed */
+#define SMB_ATTR_NORMAL 0x80 /* normal file. Only valid if used alone */
+#define SMB_ATTR_HIDDEN 0x2 /* hidden file for the purpose of dir listings */
+#define SMB_ATTR_READONLY 0x1
+#define SMB_ATTR_TEMPORARY 0x100
+#define SMB_ATTR_DIRECTORY 0x10
+#define SMB_ATTR_SYSTEM 0x4
+
 /* for tracking in-progress directory searches */
 typedef struct smb_dirSearch {
        osi_queue_t q;                  /* queue of all outstanding cookies */
@@ -277,11 +293,16 @@ typedef struct smb_dirSearch {
 /* type for patching directory listings */
 typedef struct smb_dirListPatch {
        osi_queue_t q;
-        char *dptr;            /* ptr to attr, time, data, sizel, sizeh */
+    char *dptr;                /* ptr to attr, time, data, sizel, sizeh */
+    long flags;     /* flags.  See below */
        cm_fid_t fid;
   cm_dirEntry_t *dep;   /* temp */
 } smb_dirListPatch_t;
 
+/* dirListPatch Flags */
+#define SMB_DIRLISTPATCH_DOTFILE 1  /* the file referenced is a dot file 
+                                                                          Note: will not be set if smb_hideDotFiles is false */
+
 /* waiting lock list elements */
 typedef struct smb_waitingLock {
        osi_queue_t q;
@@ -292,7 +313,7 @@ typedef struct smb_waitingLock {
        void *lockp;
 } smb_waitingLock_t;
 
-smb_waitingLock_t *smb_allWaitingLocks;
+extern smb_waitingLock_t *smb_allWaitingLocks;
 
 typedef long (smb_proc_t)(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
 
@@ -330,7 +351,7 @@ extern void smb_DosUTimeFromUnixTime(long *dosUTimep, long unixTime);
 
 extern void smb_UnixTimeFromDosUTime(long *unixTimep, long dosUTime);
 
-extern smb_vc_t *smb_FindVC(unsigned short lsn, int flags, int lana);\r
+extern smb_vc_t *smb_FindVC(unsigned short lsn, int flags, int lana);
 
 extern void smb_ReleaseVC(smb_vc_t *vcp);
 
@@ -340,6 +361,14 @@ extern void smb_ReleaseTID(smb_tid_t *tidp);
 
 extern smb_user_t *smb_FindUID(smb_vc_t *vcp, unsigned short uid, int flags);
 
+extern smb_username_t *smb_FindUserByName(char *usern, char *machine, int flags);
+
+extern smb_user_t *smb_FindUserByNameThisSession(smb_vc_t *vcp, char *usern); 
+
+extern smb_username_t *smb_FindUserByName(char *usern, char *machine, int flags);
+
+extern smb_user_t *smb_FindUserByNameThisSession(smb_vc_t *vcp, char *usern);
+
 extern void smb_ReleaseUID(smb_user_t *uidp);
 
 extern cm_user_t *smb_GetUser(smb_vc_t *vcp, smb_packet_t *inp);
@@ -352,6 +381,8 @@ extern void smb_ReleaseFID(smb_fid_t *fidp);
 
 extern int smb_FindShare(smb_vc_t *vcp, smb_packet_t *inp, char *shareName, char **pathNamep);
 
+extern int smb_FindShareCSCPolicy(char *shareName);
+
 extern smb_dirSearch_t *smb_FindDirSearchNL(long cookie);
 
 extern void smb_DeleteDirSearch(smb_dirSearch_t *dsp);
@@ -416,9 +447,19 @@ extern osi_rwlock_t smb_rctLock;
 extern int smb_LogoffTokenTransfer;
 extern unsigned long smb_LogoffTransferTimeout;
 
+extern int smb_maxVCPerServer; /* max # of VCs per server */
+extern int smb_maxMpxRequests; /* max # of mpx requests */
+
+extern int smb_hideDotFiles;
+extern unsigned int smb_IsDotFile(char *lastComp);
+
 extern void smb_FormatResponsePacket(smb_vc_t *vcp, smb_packet_t *inp,
        smb_packet_t *op);
 
+extern char *myCrt_2Dispatch(int i); 
+
+extern char *myCrt_2Dispatch(int i);
+
 extern unsigned int smb_Attributes(cm_scache_t *scp);
 
 extern int smb_ChainFID(int fid, smb_packet_t *inp);
@@ -445,11 +486,16 @@ extern long smb_ReadData(smb_fid_t *fidp, osi_hyper_t *offsetp, long count,
 
 extern BOOL smb_IsLegalFilename(char *filename);
 
+extern char *smb_GetSharename(void);
+
 /* include other include files */
 #include "smb3.h"
 #include "smb_ioctl.h"
 #include "smb_iocons.h"
-\r
-cm_user_t *smb_FindOrCreateUser(smb_vc_t *vcp, char *usern);\r
 
+cm_user_t *smb_FindOrCreateUser(smb_vc_t *vcp, char *usern);
+
+#ifdef NOTSERVICE
+extern void smb_LogPacket(smb_packet_t *packet);
+#endif /* NOTSERVICE */
 #endif /* whole file */