Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
4.2 KiB

  1. /*++
  2. Copyright (c) 1989 Microsoft Corporation
  3. Module Name:
  4. SmbCaps.h
  5. Abstract:
  6. This module defines the types and functions related to the determining the capabilities supported
  7. by any particular server according to both the dialect it negotiates and the capabilties it returns.
  8. Revision History:
  9. --*/
  10. #ifndef _SMBCAPS_H_
  11. #define _SMBCAPS_H_
  12. //
  13. // Dialect flags
  14. //
  15. // These flags describe the various and sundry capabilities that
  16. // a server can provide. I essentially just lifted this list from rdr1 so that I
  17. // could also use the level2,3 of getconnectinfo which was also just lifted from rdr1.
  18. // Many of these guys you can get directly from the CAPS field of the negotiate response but others
  19. // you cannot. These is a table in the negotiate code that fills in the stuff that is just inferred
  20. // from the dialect negotiated (also, just lifted from rdr1....a veritable fount of just info.)
  21. //
  22. // Another set of capabilities is defined in smbce.h....perhaps these should go there or vice versa.
  23. // The advantage to having them here is that this file has to be included by the aforementioned getconfiginfo code
  24. // up in the wrapper.
  25. //
  26. #define DF_CORE 0x00000001 // Server is a core server
  27. #define DF_MIXEDCASEPW 0x00000002 // Server supports mixed case password
  28. #define DF_OLDRAWIO 0x00000004 // Server supports MSNET 1.03 RAW I/O
  29. #define DF_NEWRAWIO 0x00000008 // Server supports LANMAN Raw I/O
  30. #define DF_LANMAN10 0x00000010 // Server supports LANMAN 1.0 protocol
  31. #define DF_LANMAN20 0x00000020 // Server supports LANMAN 2.0 protocol
  32. #define DF_MIXEDCASE 0x00000040 // Server supports mixed case files
  33. #define DF_LONGNAME 0x00000080 // Server supports long named files
  34. #define DF_EXTENDNEGOT 0x00000100 // Server returns extended negotiate
  35. #define DF_LOCKREAD 0x00000200 // Server supports LockReadWriteUnlock
  36. #define DF_SECURITY 0x00000400 // Server supports enhanced security
  37. #define DF_NTPROTOCOL 0x00000800 // Server supports NT semantics
  38. #define DF_SUPPORTEA 0x00001000 // Server supports extended attribs
  39. #define DF_LANMAN21 0x00002000 // Server supports LANMAN 2.1 protocol
  40. #define DF_CANCEL 0x00004000 // Server supports NT style cancel
  41. #define DF_UNICODE 0x00008000 // Server supports unicode names.
  42. #define DF_NTNEGOTIATE 0x00010000 // Server supports NT style negotiate.
  43. #define DF_LARGE_FILES 0x00020000 // Server supports large files.
  44. #define DF_NT_SMBS 0x00040000 // Server supports NT SMBs
  45. #define DF_RPC_REMOTE 0x00080000 // Server is administrated via RPC
  46. #define DF_NT_STATUS 0x00100000 // Server returns NT style statuses
  47. #define DF_OPLOCK_LVL2 0x00200000 // Server supports level 2 oplocks.
  48. #define DF_TIME_IS_UTC 0x00400000 // Server time is in UTC.
  49. #define DF_WFW 0x00800000 // Server is Windows for workgroups.
  50. #define DF_EXTENDED_SECURITY 0x01000000 // Server does extended security
  51. #define DF_TRANS2_FSCTL 0x02000000 // Server accepts remoted fsctls in tran2s
  52. #define DF_DFS_TRANS2 0x04000000 // Server accepts Dfs related trans2
  53. // functions. Can this be merged with
  54. // DF_TRANS2_FSCTL?
  55. #define DF_NT_FIND 0x08000000 // Server supports NT infolevels
  56. #define DF_W95 0x10000000 // this is a win95 server.....sigh
  57. #define DF_NT_INFO_PASSTHROUGH 0x20000000 // This server supports setting and getting
  58. // NT infolevels by offsetting the requested
  59. // infolevel by SMB_INFO_PASSTHROUGH
  60. #define DF_LARGE_WRITEX 0x40000000 // This server supports large writes
  61. #define DF_OPLOCK 0x80000000 // This server supports opportunistic lock
  62. #endif // _SMBCAPS_H_
  63.