home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / usms1.exe / SMSDEFNS.H < prev    next >
Text File  |  1995-09-18  |  11KB  |  260 lines

  1. /*    ╔═══════════════════════════════════════════════════════════════════════════
  2.     ║ Program Name:        Storage Management Services
  3.     ║
  4.     ║ modname: smsdefns.h    version: 1.14    date: 07/17/95
  5.     ║ PVCS:        $version$    $date$
  6.     ║
  7.     ║ Date Created:        March 4, 1992
  8.     ║
  9.     ║ Version:            3.2
  10.     ║
  11.     ║ Files used:        
  12.     ║
  13.     ║ Date Modified: 
  14.     ║
  15.     ║ Modifications: 
  16.     ║
  17.     ║ Comments:            Definitions for SMS, this file is included by SMS.H
  18.     ║                    and should not be included directly.
  19.     ║
  20.     ║ (C) Unpublished Copyright of Novell, Inc.  All Rights Reserved.
  21.     ║
  22.     ║ No part of this file may be duplicated, revised, translated, localized or
  23.     ║ modified in any manner or compiled, linked or uploaded or downloaded to or
  24.     ║ from any computer system without the prior written consent of Novell, Inc.
  25.     ╚═════════════════════════════════════════════════════════════════════════*/
  26.  
  27. #if !defined(_SMSDEFNS_H_INCLUDED)
  28. #define _SMSDEFNS_H_INCLUDED
  29.  
  30. #if defined(DEBUG_CODE)
  31.     #define STATIC
  32. #else
  33.     #define STATIC static
  34. #endif
  35.  
  36. #if !defined(TRUE)
  37.     #define TRUE        1
  38.     #define FALSE        0
  39. #endif
  40.  
  41. #if !defined(loop)
  42.     #define loop    for (;;)
  43.     #define is        ==
  44.     #define isnt    !=
  45.     #define and        &&
  46.     #define or        ||
  47.     #define AND        &
  48.     #define OR        |
  49. #endif
  50.  
  51. #if !defined(NULL)
  52.     #define NULL 0L
  53. #endif
  54.  
  55.     #define UINT64_ZERO    { 0, 0, 0, 0 }
  56.     #define UINT64_MAX    { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }
  57.  
  58. // ════════════════════════════════════════════════════════════════════════════
  59. // Defines for NWSM_DATA_STREAM_TYPE fid
  60.     #define NWSM_CLEAR_TEXT_DATA_STREAM            0x0
  61.     #define NWSM_SPARSE_DATA_STREAM                0x1
  62.     #define NWSM_COMPRESSED_DATA_STREAM            0x2
  63.  
  64. // Defines for NWSM_DATA_STREAM_NUMBER fid
  65.     #define NWSM_PRIMARY_DATA_STREAM_NUM        0x0
  66.     #define NWSM_MAC_RESOURCE_FORK_NUM            0x1
  67.     #define NWSM_FTAM_DATA_STREAM_NUM            0x2
  68. /* leave 3-9 for future expansion on NetWare */
  69.     #define NWSM_EXTENDED_ATTR_STREAM_NUM        0xA
  70.     #define NWSM_NT_ALTERNATE_DATA                0xB
  71.     #define NWSM_NT_SECURITY_DATA                0xC
  72.     #define NWSM_NT_LINK_DATA                    0xD
  73.  
  74. // Defines for NWSM_MEDIA_MARK_TYPE fid
  75.     #define    NWSM_MEDIA_MARK_HARD                0x0    // Both file and set marks
  76.                                                     // are done by the hardware
  77.     #define    NWSM_MEDIA_MARK_SOFT                0x1    // Both file and set marks
  78.                                                     // are simulated with a
  79.                                                     // linked list of soft
  80.                                                     // media mark fids.
  81.     #define    NWSM_MEDIA_MARK_SIM_SET                0x2    // File marks are done by
  82.                                                     // the hardware, set marks
  83.                                                     // are multiple consecutive
  84.                                                     // file marks.
  85.  
  86. // Defines for address types of GetTargetServiceAddress
  87.     #define SPX        1
  88.     #define TCPIP    2
  89.     #define ADSP    4
  90.  
  91.     #define SPX_INTERNET_ADDRESS_LENGTH          10
  92.  
  93.  
  94. // Defines for versions of compression
  95.     #define NWSM_NOVELL_COMPRESSION_V1            0x1
  96.  
  97. // Defines for NWSMTSGetUnsupportedOptions
  98.     #define NWSM_BACK_ACCESS_DATE_TIME            0x01
  99.     #define NWSM_BACK_CREATE_DATE_TIME            0x02
  100.     #define NWSM_BACK_MODIFIED_DATE_TIME        0x04
  101.     #define NWSM_BACK_ARCHIVE_DATE_TIME            0x08
  102.     #define NWSM_BACK_SKIPPED_DATA_SETS               0x10
  103.  
  104.     #define NWSM_RESTORE_NEW_DATA_SET_NAME        0x01
  105.     #define NWSM_RESTORE_CHILD_UPDATE_MODE        0x02
  106.     #define NWSM_RESTORE_PARENT_UPDATE_MODE        0x04
  107.    #define NWSM_RESTORE_PARENT_HANDLE          0x08
  108.  
  109.  
  110. /*    Generic selectionType defines */
  111.     #define NWSM_TSA_DEFINED_RESOURCE_EXC        0x02
  112.     #define NWSM_TSA_DEFINED_RESOURCE_INC        0x03
  113.     #define NWSM_PARENT_TO_BE_EXCLUDED            0x04
  114.     #define NWSM_PARENT_TO_BE_INCLUDED            0x05
  115.     #define NWSM_CHILD_TO_BE_EXCLUDED            0x08
  116.     #define NWSM_CHILD_TO_BE_INCLUDED            0x09
  117.     #define NWSM_EXCLUDE_CHILD_BY_FULL_NAME        0x10
  118.     #define NWSM_INCLUDE_CHILD_BY_FULL_NAME        0x11
  119.  
  120. /*    Generic scanType defines */
  121.     #define NWSM_DO_NOT_TRAVERSE                0x0001
  122.     #define NWSM_EXCLUDE_ARCHIVED_CHILDREN        0x0002
  123.     #define NWSM_EXCLUDE_HIDDEN_CHILDREN        0x0004
  124.     #define NWSM_EXCLUDE_HIDDEN_PARENTS            0x0008
  125.     #define NWSM_EXCLUDE_SYSTEM_CHILDREN        0x0010
  126.     #define NWSM_EXCLUDE_SYSTEM_PARENTS            0x0020
  127.  
  128.     #define NWSM_EXCLUDE_CHILD_TRUSTEES            0x0040
  129.     #define NWSM_EXCLUDE_PARENT_TRUSTEES        0x0080
  130.     #define NWSM_EXCLUDE_ACCESS_DATABASE        0x0100
  131.     #define NWSM_EXCLUDE_VOLUME_RESTS            0x0200
  132.     #define NWSM_EXCLUDE_DISK_SPACE_RESTS        0x0400
  133.     #define NWSM_EXCLUDE_EXTENDED_ATTRIBUTS        0x0800
  134.     #define NWSM_EXCLUDE_DATA_STREAMS            0x1000
  135.     #define NWSM_EXCLUDE_MIGRATED_CHILD            0x2000
  136. /* NWSM_EXCLUDE_MIGRATED_CHILD means to exclude the data stream, but include
  137.     all other information about the file */
  138.     #define NWSM_EXPAND_COMPRESSED_DATA            0x4000
  139.     #define NWSM_EXCLUDE_ARCH_CHILD_DATA        0x8000
  140.     #define NWSM_EXCLUDE_ARCH_CHILD_CHAR          0x10000
  141.     #define NWSM_FLAG_PURGE_IMMED_ON_DELETE    0x20000
  142.     #define NWSM_EXCLUDE_MIGRATED_FILES           0x40000
  143.  
  144. // ════════════════════════════════════════════════════════════════════════════
  145. /*    ╔═════════════════════════════════════════════════════════════════════════╗
  146.     ║ Open modes for backup and restore, passed to NWSMOpenDataSetForBackup   ║
  147.     ║      and NWSMOpenDataSetForRestore                                      ║
  148.     ║                                                                         ║
  149.     ║     Backup                             Restore                          ║
  150.     ╟─────────────────────────────────────────────────────────────────────────╢
  151.     ║ SMS Numeric modes                                                       ║
  152.     ║                                                                         ║
  153.     ║ 1:   NWSM_USE_LOCK_MODE_IF_DW_FAILS    NWSM_OVERWRITE_DATA_SET          ║
  154.     ║ 2:   NWSM_NO_LOCK_NO_PROTECTION        NWSM_DO_NOT_OVERWRITE_DATA_SET   ║
  155.     ║ 3:   Reserved                          NWSM_CREATE_PARENT_HANDLE        ║
  156.     ║ 4:   Reserved                          NWSM_UPDATE_DATA_SET             ║
  157.     ║ 5 to 15:                      Reserved                                  ║
  158.     ╟─────────────────────────────────────────────────────────────────────────╢
  159.     ║ SMS Non-numeric mode options, ie., can be added (ORed) to numeric mode  ║
  160.     ║                                                                         ║
  161.     ║ 0010                          Reserved                                  ║
  162.     ║ 0020                          Reserved                                  ║
  163.     ║ 0040 Reserved                          NWSM_CLEAR_MODIFY_FLAG           ║
  164.     ║ 0080 Reserved                          NWSM_RESTORE_MODIFY_FLAG         ║
  165.     ╟─────────────────────────────────────────────────────────────────────────╢
  166.     ║ TSA Specific Non-numeric mode options, i.e., can be added (logical OR)  ║
  167.     ║     to numeric mode and SMS Non-numeric options.                        ║
  168.     ║                                                                         ║
  169.     ║ 0100 NWSM_NO_DATA_STREAMS              NWSM_NO_DATA_STREAMS             ║
  170.     ║ 0200 NWSM_NO_EXTENDED_ATTRIBUTES       NWSM_NO_EXTENDED_ATTRIBUTES      ║
  171.     ║ 0400 NWSM_NO_PARENT_TRUSTEES           NWSM_NO_PARENT_TRUSTEES          ║
  172.     ║ 0800 NWSM_NO_CHILD_TRUSTEES            NWSM_NO_CHILD_TRUSTEES           ║
  173.     ║ 1000 NWSM_NO_VOLUME_RESTRICTIONS       NWSM_NO_VOLUME_RESTRICTIONS      ║
  174.     ║ 2000 NWSM_NO_DISK_SPACE_RESTRICTIONS   NWSM_NO_DISK_SPACE_RESTRICTIONS  ║
  175.     ║ 4000 NWSM_INCLUDE_MIGRATED_DATA         N/A                              ║
  176.     ║ 8000 N/A                       (future:) NWSM_DELETE_EXISITING_TRUSTEES   ║
  177.     ║10000 NWSM_EXPAND_COMPRESSED_DATA_SET     N/A                              ║
  178.     ║ 00020000 to 80000000:         Reserved                                  ║
  179.     ╚═════════════════════════════════════════════════════════════════════════╝*/
  180.  
  181. /*    Mask for numeric modes, backup and restore */
  182.     #define NWSM_OPEN_MODE_MASK                0x000F
  183.  
  184. /*    NWSMOpenDataSetForBackup modes */
  185.     #define NWSM_OPEN_READ_DENY_WRITE            0x0000
  186.     #define NWSM_USE_LOCK_MODE_IF_DW_FAILS        0x0001
  187.     #define NWSM_NO_LOCK_NO_PROTECTION            0x0002
  188.     #define NWSM_OPEN_READ_ONLY                    0x0003
  189.  
  190. /* TSA Specific Non-numeric mode options */
  191.     #define NWSM_NO_DATA_STREAMS                0x0100 /* Also used for Restore */
  192.     #define NWSM_NO_EXTENDED_ATTRIBUTES            0x0200 /* Also used for Restore */
  193.     #define NWSM_NO_PARENT_TRUSTEES                0x0400 /* Also used for Restore */
  194.     #define NWSM_NO_CHILD_TRUSTEES                0x0800 /* Also used for Restore */
  195.     #define NWSM_NO_VOLUME_RESTRICTIONS            0x1000 /* Also used for Restore */
  196.     #define NWSM_NO_DISK_SPACE_RESTRICTIONS        0x2000 /* Also used for Restore */
  197.     #define NWSM_INCLUDE_MIGRATED_DATA            0x4000 /* Also used for Restore */
  198.     #define NWSM_EXPAND_COMPRESSED_DATA_SET    0x10000
  199.     #define NWSM_EXCLUDE_MIGRATED_DATA           0x20000
  200.  
  201. /*    NWSMOpenDataSetForRestore modes */
  202.     #define NWSM_OVERWRITE_DATA_SET                0x0001
  203.     #define NWSM_DO_NOT_OVERWRITE_DATA_SET        0x0002
  204.     #define NWSM_CREATE_PARENT_HANDLE            0x0003
  205.     #define NWSM_UPDATE_DATA_SET                0x0004
  206.  
  207.     #define NWSM_SET_MODIFY_FLAG_RESTORE        0x0000
  208.     #define NWSM_CLEAR_MODIFY_FLAG_RESTORE        0x0040
  209.     #define NWSM_RESTORE_MODIFY_FLAG            0x0080
  210.  
  211. /* TSA Specific Non-numeric mode options */
  212. /*    #define NWSM_NO_DATA_STREAMS                0x0100  */
  213. /*    #define NWSM_NO_EXTENDED_ATTRIBUTES            0x0200    */
  214. /*    #define NWSM_NO_PARENT_TRUSTEES                0x0400    */
  215. /*    #define NWSM_NO_CHILD_TRUSTEES                0x0800    */
  216. /*    #define NWSM_NO_VOLUME_RESTRICTIONS            0x1000    */
  217. /*    #define NWSM_NO_DISK_SPACE_RESTRICTIONS        0x2000    */ 
  218. /*    #define NWSM_INCLUDE_MIGRATED_DATA            0x4000    */
  219.     #define NWSM_DELETE_EXISITING_TRUSTEES        0x8000  /* future */
  220.  
  221. /*    NWSMTSSetArchiveStatus setFlag defines */
  222.     #define NWSM_CLEAR_MODIFY_FLAG                0x01
  223.     #define NWSM_SET_ARCHIVE_DATE_AND_TIME        0x02
  224.     #define NWSM_SET_ARCHIVER_ID                0x04
  225.     #define NWSM_CLEAR_MOD_DATA_FLAG_ONLY       0x08
  226.     #define NWSM_CLEAR_MOD_CHAR_FLAG_ONLY       0x10
  227.  
  228. /*    Buffer Lengths */
  229.     #define NWSM_MAX_DESCRIPTION_LEN            80
  230.     #define NWSM_MAX_RESOURCE_LEN                30
  231.     #define NWSM_MAX_STRING_LEN                    60
  232.     #define NWSM_MAX_TARGET_SRVC_NAME_LEN        48
  233.     #define NWSM_MAX_TARGET_SRVC_TYPE_LEN        40
  234.     #define NWSM_MAX_TARGET_SRVC_VER_LEN        10
  235.     #define NWSM_MAX_SOFTWARE_NAME_LEN            80
  236.     #define NWSM_MAX_SOFTWARE_TYPE_LEN            40
  237.     #define NWSM_MAX_SOFTWARE_VER_LEN            10
  238.     #define NWSM_MAX_TARGET_USER_NAME_LEN        256        // MAX_DN_ in nwdsdefs.h
  239.     #define NWSM_MAX_ERROR_STRING_LEN            255
  240.     #define NWSM_MAX_MM_MODULE_LABEL_LEN        64
  241.     #define NWSM_MAX_DEVICE_LABEL_LEN            64
  242.     #define NWSM_MAX_MEDIA_LABEL_LEN            64
  243.  
  244.     #define EndChar(p, b)        strchr((PSTRING)(b), *LastChar(p))
  245. //    #if defined(NETWARE_V320) || defined(NETWARE_V311)
  246.         #define LastChar(p)            (NWPrevChar(p, &(p)[strlen((PSTRING)p)]))
  247. //    #else
  248. //        #define LastChar(p)            (&(p)[strlen((PSTRING)p) - 1])
  249. //    #endif
  250.     #define StrEnd(p)            (&(p)[strlen(p)])
  251.     #define StrEqu                !strcmp
  252.     #define StrNEqu                !strncmp
  253.     #define _min(a, b)            ((a) < (b)) ? (a) : (b)
  254.  
  255. #endif
  256.  
  257. // ════════════════════════════════════════════════════════════════════════════
  258. // ════════════════════════════════════════════════════════════════════════════
  259.  
  260.