lib/param move source4 param code to the top level
[sfrench/samba-autobuild/.git] / libcli / smb / smb_constants.h
index 59a6d9e388bd4e271f23c74109438a270fe49ca1..c9b466cfb77db93d4dc26c278095e6e61a591f81 100644 (file)
 #ifndef _SMB_CONSTANTS_H
 #define _SMB_CONSTANTS_H
 
+/*
+ * Netbios over TCP (rfc 1002)
+ */
+#define NBSSmessage     0x00   /* session message */
+#define NBSSrequest     0x81   /* session request */
+#define NBSSpositive    0x82   /* positiv session response */
+#define NBSSnegative    0x83   /* negativ session response */
+#define NBSSretarget    0x84   /* retarget session response */
+#define NBSSkeepalive   0x85   /* keepalive */
+
+/* protocol types. It assumes that higher protocols include lower protocols
+   as subsets. */
+enum protocol_types {
+       PROTOCOL_NONE,
+       PROTOCOL_CORE,
+       PROTOCOL_COREPLUS,
+       PROTOCOL_LANMAN1,
+       PROTOCOL_LANMAN2,
+       PROTOCOL_NT1,
+       PROTOCOL_SMB2_02,
+       PROTOCOL_SMB2_10,
+       PROTOCOL_SMB2_22
+};
+
+enum smb_signing_setting {
+       SMB_SIGNING_OFF, SMB_SIGNING_SUPPORTED, 
+       SMB_SIGNING_REQUIRED, SMB_SIGNING_AUTO};
+
 /* NT Flags2 bits - cifs6.txt section 3.1.2 */
 #define FLAGS2_LONG_PATH_COMPONENTS    0x0001
 #define FLAGS2_EXTENDED_ATTRIBUTES     0x0002
 #define FLAGS2_SMB_SECURITY_SIGNATURES 0x0004
-#define FLAGS2_UNKNOWN_BIT4            0x0010
+#define FLAGS2_SMB_SECURITY_SIGNATURES_REQUIRED 0x0010
 #define FLAGS2_IS_LONG_NAME            0x0040
 #define FLAGS2_EXTENDED_SECURITY       0x0800
 #define FLAGS2_DFS_PATHNAMES           0x1000
                                        FILE_ATTRIBUTE_DIRECTORY|\
                                        FILE_ATTRIBUTE_ARCHIVE)
 
+/* File type flags */
+#define FILE_TYPE_DISK  0
+#define FILE_TYPE_BYTE_MODE_PIPE 1
+#define FILE_TYPE_MESSAGE_MODE_PIPE 2
+#define FILE_TYPE_PRINTER 3
+#define FILE_TYPE_COMM_DEVICE 4
+#define FILE_TYPE_UNKNOWN 0xFFFF
+
 #endif /* _SMB_CONSTANTS_H */