QS API Enumerations: Difference between revisions
Jump to navigation
Jump to search
Created page with "Category:dev_guide <pre> typedef enum osn__flags { OSN_CMN_FLAG_NONE = 0x00000000, OSN_CMN_FLAG_ASYNC = 0x00000001, OSN_CMN_FLAG_FOR..." |
m Qadmin moved page QS API Enumerations v5.2 to QS API Enumerations |
(No difference)
|
Revision as of 00:51, 22 March 2019
typedef enum osn__flags { OSN_CMN_FLAG_NONE = 0x00000000, OSN_CMN_FLAG_ASYNC = 0x00000001, OSN_CMN_FLAG_FORCE = 0x00000002, OSN_CMN_FLAG_RESCAN = 0x00000004, OSN_CMN_FLAG_GENERATE_NAME = 0x00000008, OSN_CMN_FLAG_SYNC_PRIMARY = 0x00000010, OSN_CMN_FLAG_SYNC_SECONDARY = 0x00000020, OSN_CMN_FLAG_REDIRECT = 0x00000040, OSN_CMN_FLAG_SUPPRESS_ALARMS = 0x00000080, OSN_CMN_FLAG_STOP_VERIFY = 0x00000100, OSN_CMN_FLAG_USE_GUID_IQN = 0x00000200, OSN_CMN_FLAG_EXPORT = 0x00000400, OSN_CMN_FLAG_RESCUE_MODE = 0x00000800, OSN_CMN_FLAG_START_REPAIR = 0x00001000, OSN_CMN_FLAG_SPARES_ONLY = 0x00002000, OSN_CMN_FLAG_LAZY = 0x00004000, OSN_CMN_FLAG_SW_CONTROLLER = 0x00008000, OSN_CMN_FLAG_WAIT_FOR_SIGNAL = 0x00010000, OSN_CMN_FLAG_MINIMAL = 0x00020000, OSN_CMN_FLAG_RECURSIVE = 0x00040000, OSN_CMN_FLAG_FREE_UNUSED_LUNS = 0x00080000, OSN_CMN_FLAG_INSECURE = 0x00100000, OSN_CMN_FLAG_VASA_SUPPORT = 0x00200000, OSN_CMN_FLAG_METADATA = 0x00400000, OSN_CMN_FLAG_MAX = 0x00400000 } osn__flags_t; //--spares-only args.hasArg("spares-only") ? flags | OSN_CMN_FLAG_SPARES_ONLY : flags typedef enum osn__ethPortNaming { OSN_CMN_ETHPORT_NAMING_NOCHANGE, OSN_CMN_ETHPORT_NAMING_LEGACY_ETH, OSN_CMN_ETHPORT_NAMING_PREDICTABLE } osn__ethPortNaming_t; typedef enum osn__modifyType { OSN_CMN_MOD_OP_ADD = 0, OSN_CMN_MOD_OP_REMOVE = 1, OSN_CMN_MOD_OP_SET = 2 } osn__modifyType_t; typedef enum osn__nfsNamespaceModeType { OSN_CMN_NFS_NAMESPACE_MODE_FLAT = 0, OSN_CMN_NFS_NAMESPACE_MODE_GROUPED = 1, OSN_CMN_NFS_NAMESPACE_MODE_DISABLED = 2 } osn__nfsNamespaceModeType_t; typedef enum osn__dfsNamespaceModeType { OSN_CMN_DFS_NAMESPACE_MODE_GROUPED = 0, OSN_CMN_DFS_NAMESPACE_MODE_FLAT = 1, OSN_CMN_DFS_NAMESPACE_MODE_DISABLED = 2 } osn__dfsNamespaceModeType_t; typedef enum osn__blinkType { OSN_CMN_BLINK_SECS = 0, OSN_CMN_BLINK_ON = 1, OSN_CMN_BLINK_OFF = 2 } osn__blinkType_t; typedef enum osn__alertHandlerWebhookType { OSN_ALERTHANDLER_WEBHOOK_SLACK, OSN_ALERTHANDLER_WEBHOOK_MATTERMOST } osn__alertHandlerWebhookType_t; typedef enum osn__providerRegistrationScope { OSN_REGISTRATION_SCOPE_LOCAL = 0, OSN_REGISTRATION_SCOPE_CLUSTER_WIDE = 1 } osn__providerRegistrationScope_t; typedef enum osn__blinkReason { OSN_CMN_BLINKREASON_UNKNOWN = 0x00, OSN_CMN_BLINKREASON_MANUAL = 0x01, OSN_CMN_BLINKREASON_SPD_FAULT = 0x02, OSN_CMN_BLINKREASON_PD_FAULT = 0x04, OSN_CMN_BLINKREASON_HWD_FAULT = 0x08, OSN_CMN_BLINKREASON_OSD_FAULT = 0x10, OSN_CMN_BLINKREASON_BRICK_FAULT = 0x20, OSN_CMN_BLINKREASON_OTHER = 0x40 } osn__blinkReason_t; typedef enum osn__tunableOption { OSN_CMN_TUNABLE_NONE = 0x00, OSN_CMN_TUNABLE_RESET_TO_DEFAULTS = 0x01, } osn__tunableOption_t; typedef enum osn__tunableDataType { OSN_CMN_TUNABLE_RANGE = 0x00, OSN_CMN_TUNABLE_PERCENTAGE = 0x01, OSN_CMN_TUNABLE_BOOLEAN = 0x02, } osn__tunableDataType_t; typedef enum osn__diskStateDetail { OSN_CMN_DISKSTATEDETAIL_UNKNOWN = 0x00, OSN_CMN_DISKSTATEDETAIL_SPD_FAULT = 0x01, OSN_CMN_DISKSTATEDETAIL_TEMPERATURE = 0x02, OSN_CMN_DISKSTATEDETAIL_HEALTH = 0x04, OSN_CMN_DISKSTATEDETAIL_PREDICTIVE_FAILURE = 0x08, OSN_CMN_DISKSTATEDETAIL_MEDIA_ERROR_COUNT = 0x10, OSN_CMN_DISKSTATEDETAIL_OTHER = 0x20 } osn__diskStateDetail_t; typedef enum osn__lunAssignmentPolicy { OSN_CMN_LUN_ASSIGN_DYNAMIC = 0, OSN_CMN_LUN_ASSIGN_STATIC = 1 } osn__lunAssignmentPolicy_t; typedef enum osn__nfsServiceMode { OSN_CMN_NFS_MODE_V3 = 0, OSN_CMN_NFS_MODE_V4 = 1, OSN_CMN_NFS_MODE_GLUSTER = 2 } osn__nfsServiceMode_t; typedef enum osn__nfsKerberosMode { OSN_CMN_NFS_KRB5I = 0, OSN_CMN_NFS_KRB5P = 1, OSN_CMN_NFS_KRB5 = 2 } osn__nfsKerberosMode_t; typedef enum osn__networkShareSessionType { OSN_CMN_SHARE_SESSION_SMB = 0, OSN_CMN_SHARE_SESSION_NFS = 1 } osn__networkShareSessionType_t; typedef enum osn__dataShredMode { OSN_CMN_DATA_SHRED_MODE_DONT_SHRED = 0, //does not scrub the datas OSN_CMN_DATA_SHRED_MODE_USARMY = 1, //usarmy is the US Army AR380-19 OSN_CMN_DATA_SHRED_MODE_DOD = 2, //dod selects patterns compliant with DoD 5220.22-M OSN_CMN_DATA_SHRED_MODE_NNSA = 3, //nnsa selects patterns compliant with NNSA Policy Letter NAP-14.1-C OSN_CMN_DATA_SHRED_MODE_RANDOM = 4, //single pass of random data OSN_CMN_DATA_SHRED_MODE_ZEROS = 5 //single pass of zeros } osn__dataShredMode_t; typedef enum osn__haClientConnectivityPolicy { OSN_CMN_HA_CLIENT_FAILOVER_DISABLED = 0, OSN_CMN_HA_CLIENT_FAILOVER_IF_NO_MAJORITY = 1, OSN_CMN_HA_CLIENT_FAILOVER_IF_NO_RESPONSE = 2, OSN_CMN_HA_CLIENT_FAILOVER_MAX = 3 } osn__haClientConnectivityPolicy_t; typedef enum osn__securityWebAccessMode { OSN_CMN_WEBACCESSMODE_HTTP_ENABLED = 0, OSN_CMN_WEBACCESSMODE_HTTP_DISABLED = 1, OSN_CMN_WEBACCESSMODE_HTTP_REDIRECTED = 2 } osn__securityWebAccessMode_t; typedef enum osn__multiFactorAuthProvider { OSN_CMN_MFA_PROVIDER_NONE = 0, OSN_CMN_MFA_PROVIDER_DUO = 1, OSN_CMN_MFA_PROVIDER_GOOGLE = 2 } osn__multiFactorAuthProvider_t; typedef enum osn__multiFactorAuthMode { OSN_CMN_MFA_MODE_NONE = 0, OSN_CMN_MFA_MODE_PUSH = 1, OSN_CMN_MFA_MODE_SMS = 2, OSN_CMN_MFA_MODE_PHONE = 3, OSN_CMN_MFA_MODE_TOKEN = 4, OSN_CMN_MFA_MODE_PROMPT = 5, OSN_CMN_MFA_MODE_MAX = 6 } osn__multiFactorAuthMode_t; typedef enum osn__multiFactorAuthStatus { OSN_CMN_MFA_STATUS_NONE = 0, OSN_CMN_MFA_STATUS_PENDING = 1, OSN_CMN_MFA_STATUS_RUNNING = 2, OSN_CMN_MFA_STATUS_SUCCESS = 3, OSN_CMN_MFA_STATUS_FAIL = 4, OSN_CMN_MFA_STATUS_DENY = 5, OSN_CMN_MFA_STATUS_ERR = 6, OSN_CMN_MFA_STATUS_ENROLL = 7, OSN_CMN_MFA_STATUS_SENT = 8 } osn__multiFactorAuthStatus_t; typedef enum osn__haLinkStateFailoverPolicy { OSN_CMN_HA_LINKSTATE_FAILOVER_IF_ALL_LINKDOWN = 0, OSN_CMN_HA_LINKSTATE_FAILOVER_IF_MAJORITY_LINKDOWN = 1, OSN_CMN_HA_LINKSTATE_FAILOVER_IF_ANY_LINKDOWN = 2, OSN_CMN_HA_LINKSTATE_FAILOVER_IGNORE_LINKDOWN = 3, OSN_CMN_HA_LINKSTATE_FAILOVER_FAILOVER_MAX = 4 } osn__haLinkStateFailoverPolicy_t; typedef enum osn__sambaIdmapMode { OSN_CMN_SAMBA_IDMAP_TDB = 0, OSN_CMN_SAMBA_IDMAP_RID = 1, OSN_CMN_SAMBA_IDMAP_AD = 2, OSN_CMN_SAMBA_IDMAP_AUTORID = 4, OSN_CMN_SAMBA_IDMAP_AD_RFC2307 = 8 } osn__sambaIdmapMode_t; typedef enum osn__wuiTabDisable { OSN_CMN_WUI_TAB_DISABLE_NONE = 0x0000, OSN_CMN_WUI_TAB_DISABLE_INHERIT = 0x0001, OSN_CMN_WUI_TAB_DISABLE_STORAGE_MGMT = 0x0002, OSN_CMN_WUI_TAB_DISABLE_USERS_GROUPS = 0x0004, OSN_CMN_WUI_TAB_DISABLE_REMOTE_REPLICATION = 0x0008, OSN_CMN_WUI_TAB_DISABLE_CLOUD_CONTAINERS = 0x0010, OSN_CMN_WUI_TAB_DISABLE_CLUSTER_MGMT = 0x0020, OSN_CMN_WUI_TAB_DISABLE_SCALE_OUT_NAS_MGMT = 0x0040, OSN_CMN_WUI_TAB_DISABLE_SCALE_OUT_OBJ_MGMT = 0x0080, OSN_CMN_WUI_TAB_DISABLE_MULTITENANCY = 0x0100, OSN_CMN_WUI_TAB_DISABLE_GRID_DASHBOARD = 0x0200, OSN_CMN_WUI_TAB_DISABLE_MAX = 0x0400 } osn__wuiTabDisable_t; typedef enum osn__wuiSectionDisable { OSN_CMN_WUI_SECTION_DISABLE_NONE = 0x0000, OSN_CMN_WUI_SECTION_DISABLE_INHERIT = 0x0001, OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_PHYS_DISKS = 0x0002, OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_HARDWARE = 0x0004, OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_POOLS = 0x0008, OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_SHARES = 0x0010, OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_VOLUMES = 0x0020, OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_SNAP_SCHED = 0x0040, OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_HOSTS = 0x0080, OSN_CMN_WUI_SECTION_DISABLE_MAX = 0x0100 } osn__wuiSectionDisable_t; typedef enum osn__poolEnclosureRedundancy { OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_UNKNOWN, OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_VERIFIED, OSN_CMN_POOL_ENCLOSURE_NOT_REDUNDANT, OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_NA, OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_PARTIAL } osn__poolEnclosureRedundancy_t; typedef enum osn__accessType { OSN_CMN_ACCESSTYPE_READWRITE, OSN_CMN_ACCESSTYPE_READONLY, OSN_CMN_ACCESSTYPE_NONE } osn__accessType_t; typedef enum osn__configAnalysisReportCategory { OSN_CMN_CONFIG_ANALYSIS_CATEGORY_ALL = 0x0000, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_NETWORKING = 0x0001, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_HIGH_AVAILABILITY = 0x0004, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_REMOTE_REPLICATION = 0x0008, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_CEPH = 0x0010, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_ZFS = 0x0020, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_GLUSTER = 0x0040, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_HA_CLUSTER_CONFIG = 0x0080, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_STORAGE_GRID = 0x0100, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_SECURITY = 0x0200, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_GENERAL = 0x0400, OSN_CMN_CONFIG_ANALYSIS_CATEGORY_MAX = 0x0800 } osn__configAnalysisReportCategory_t; typedef enum osn__configAnalysisReportImpact { OSN_CMN_CONFIG_ANALYSIS_IMPACT_ALL = 0x0000, OSN_CMN_CONFIG_ANALYSIS_IMPACT_STABILITY = 0x0001, OSN_CMN_CONFIG_ANALYSIS_IMPACT_PERFORMANCE = 0x0002, OSN_CMN_CONFIG_ANALYSIS_IMPACT_SECURITY = 0x0004, OSN_CMN_CONFIG_ANALYSIS_IMPACT_MAX = 0x0008 } osn__configAnalysisReportImpact_t; typedef enum osn__configAnalysisReportSeverity { OSN_CMN_CONFIG_ANALYSIS_SEVERITY_INFORMATIONAL = 0x0000, OSN_CMN_CONFIG_ANALYSIS_SEVERITY_MINOR = 0x0001, OSN_CMN_CONFIG_ANALYSIS_SEVERITY_MAJOR = 0x0002, OSN_CMN_CONFIG_ANALYSIS_SEVERITY_CRITICAL = 0x0004, OSN_CMN_CONFIG_ANALYSIS_SEVERITY_MAX = 0x0008 } osn__configAnalysisReportSeverity_t; typedef enum osn__cifsUserAccessMode { OSN_CMN_CIFS_USER_ACCESS_NONE, OSN_CMN_CIFS_USER_ACCESS_VALID, OSN_CMN_CIFS_USER_ACCESS_ADMIN, OSN_CMN_CIFS_USER_ACCESS_INVALID } osn__cifsUserAccessMode_t; typedef enum osn__passwordComplexityReq { OSN_PW_COMPLEXITY_WEAK, OSN_PW_COMPLEXITY_STANDARD, OSN_PW_COMPLEXITY_STRONG } osn__passwordComplexityReq_t; typedef enum osn__resourceDomainTypes { OSN_RESOURCE_DOMAIN_REGION, OSN_RESOURCE_DOMAIN_SITE, OSN_RESOURCE_DOMAIN_BUILDING, OSN_RESOURCE_DOMAIN_RACK, OSN_RESOURCE_DOMAIN_SERVER, OSN_RESOURCE_DOMAIN_MAX } osn__resourceDomainTypes_t; typedef enum osn__consistencyCheck { OSN_CONSISTENCY_CHECK_NA, OSN_CONSISTENCY_CHECK_UNVERIFIED, OSN_CONSISTENCY_CHECK_VERIFIED, } osn__consistencyCheck_t; // The enums are ordered such that we can still use the bit 1 to indicate encrypted and bit 2 to indicate compression // We have the linkType in builds before 4.3, so to maintain backward compatibility we have to keep linkType=0 as encrypted and uncompressed // OSN_LINK_TYPE_ENCRYPT_UNCOMP = 00 // OSN_LINK_TYPE_UNENCRYPT_UNCOMP = 01 // OSN_LINK_TYPE_ENCRYPT_COMP = 10 // OSN_LINK_TYPE_UENCRYPT_COMP = 11 // This way we can use the bits to figure out each flag (encrption and compression) typedef enum osn__storageSystemLinkType { OSN_LINK_TYPE_ENCRYPT_UNCOMP, OSN_LINK_TYPE_UNENCRYPT_UNCOMP, OSN_LINK_TYPE_ENCRYPT_COMP, OSN_LINK_TYPE_UENCRYPT_COMP } osn__storageSystemLinkType_t; typedef enum osn__cacheType { OSN_CMN_ACCESSTYPE_WRITETHRU, OSN_CMN_ACCESSTYPE_WRITEBACK } osn__cacheType_t; typedef enum osn__hwCachePolicy { OSN_HWCACHE_UNKNOWN = 0x0, OSN_HWCACHE_READAHEAD = 0x1, OSN_HWCACHE_NOREADAHEAD = 0x2, OSN_HWCACHE_WRITEBACK = 0x4, OSN_HWCACHE_ALWAYSWRITEBACK = 0x8, OSN_HWCACHE_WRITETHROUGH = 0x10, OSN_HWCACHE_CACHED = 0x20, OSN_HWCACHE_DIRECT = 0x40 } osn__hwCachePolicy_t; typedef enum osn__syncPolicy { OSN_CMN_SYNCTYPE_STANDARD, OSN_CMN_SYNCTYPE_ALWAYS, OSN_CMN_SYNCTYPE_DISABLED, OSN_CMN_SYNCTYPE_AUTO } osn__syncPolicy_t; typedef enum osn__networkShareFileOplock { OSN_CMN_FILE_OPLOCK_TYPE_NONE, OSN_CMN_FILE_OPLOCK_TYPE_LEVEL_II, OSN_CMN_FILE_OPLOCK_TYPE_LEASE, OSN_CMN_FILE_OPLOCK_TYPE_EXCLUSIVE, OSN_CMN_FILE_OPLOCK_TYPE_UNKNOWN } osn__networkShareFileOplock_t; typedef enum osn__networkShareFileAccess { OSN_CMN_FILE_ACCESS_TYPE_READONLY, OSN_CMN_FILE_ACCESS_TYPE_READWRITE } osn__networkShareFileAccess_t; typedef enum osn__chapPolicy { OSN_CHAP_DISABLED = 0, OSN_CHAP_USE_TARGET_CHAP = 1, OSN_CHAP_USE_USER_CHAP_DEFAULTS = 2, OSN_CHAP_USE_TARGET_AND_USER_CHAP = 3, OSN_CHAP_USE_STORAGE_CLOUD_CHAP_DEFAULTS = 4 } osn__chapPolicy_t; typedef enum osn__cephUseCase { OSN_CEPH_USE_CASE_RGW, OSN_CEPH_USE_CASE_RGW_OPENSTACK, } osn__cephUseCase_t; // RuleType = 2 is not set in ceph. typedef enum osn__cephCrushRuleType { OSN_CEPH_CRUSH_RULE_REPLICATED = 1, OSN_CEPH_CRUSH_RULE_ERASURE_CODED = 3 } osn__cephCrushRuleType_t; typedef enum osn__cephCrushDeviceClass { OSN_CEPH_CRUSH_DEVICE_CLASS_HDD = 0, OSN_CEPH_CRUSH_DEVICE_CLASS_SSD = 1, OSN_CEPH_CRUSH_DEVICE_CLASS_NVME = 2 } osn__cephCrushDeviceClass_t; typedef enum osn__cephECPlugin { OSN_CEPH_EC_PLUGIN_JERASURE = 0, OSN_CEPH_EC_PLUGIN_ISA = 1, OSN_CEPH_EC_PLUGIN_LRC = 2, OSN_CEPH_EC_PLUGIN_SHEC = 3 } osn__cephECPlugin_t; typedef enum osn__cephECTechnique { OSN_CEPH_EC_TECHNIQUE_REED_SOL_VAN = 0, OSN_CEPH_EC_TECHNIQUE_REED_SOL_R6_OP = 1, OSN_CEPH_EC_TECHNIQUE_CAUCHY_ORIG = 2, OSN_CEPH_EC_TECHNIQUE_CAUCHY_GOOD = 3, OSN_CEPH_EC_TECHNIQUE_LIBERATION= 4 , OSN_CEPH_EC_TECHNIQUE_BLAUM_ROTH = 5, OSN_CEPH_EC_TECHNIQUE_LIBER_8_TION = 6 } osn__cephECTechnique_t; typedef enum osn__cephFailureDomain { OSN_CEPH_FAILURE_DOMAIN_OSD = 0, OSN_CEPH_FAILURE_DOMAIN_HOST = 1, OSN_CEPH_FAILURE_DOMAIN_RACK = 2, OSN_CEPH_FAILURE_DOMAIN_CHASSIS = 3, OSN_CEPH_FAILURE_DOMAIN_DATACENTER = 4 } osn__cephFailureDomain_t; typedef enum osn__quotaPolicy { OSN_CMN_QUOTA_POLICY_SOFT, OSN_CMN_QUOTA_POLICY_HARD } osn__quotaPolicy_t; typedef enum osn__initiatorType { OSN_CMN_INITIATOR_ISCSI = 0, OSN_CMN_INITIATOR_FCP = 1, OSN_CMN_INITIATOR_IB = 2 } osn__initiatorType_t; typedef enum osn__linkState { OSN_CMN_LINKSTATE_UP, OSN_CMN_LINKSTATE_DOWN, OSN_CMN_LINKSTATE_UNKNOWN } osn__linkState_t; typedef enum osn__iscsiConnectionState { OSN_CMN_ISCSI_CONNECTION_STATE_UNKNOWN, OSN_CMN_ISCSI_CONNECTION_STATE_FREE, OSN_CMN_ISCSI_CONNECTION_STATE_TRANSPORT_WAIT, OSN_CMN_ISCSI_CONNECTION_STATE_IN_LOGIN, OSN_CMN_ISCSI_CONNECTION_STATE_LOGGED_IN, OSN_CMN_ISCSI_CONNECTION_STATE_IN_LOGOUT, OSN_CMN_ISCSI_CONNECTION_STATE_LOGOUT_REQUESTED, OSN_CMN_ISCSI_CONNECTION_STATE_CLEANUP_WAIT, OSN_CMN_ISCSI_CONNECTION_STATE_MAX } osn__iscsiConnectionState_t; typedef enum osn__iscsiSessionState { OSN_CMN_ISCSI_SESSION_STATE_UNKNOWN, OSN_CMN_ISCSI_SESSION_STATE_NO_CHANGE, OSN_CMN_ISCSI_SESSION_STATE_CLEANUP, OSN_CMN_ISCSI_SESSION_STATE_REOPEN, OSN_CMN_ISCSI_SESSION_STATE_REDIRECT, OSN_CMN_ISCSI_SESSION_STATE_MAX } osn__iscsiSessionState_t; typedef enum osn__userAccountType { OSN_CMN_USER_ACCOUNT_STANDARD, OSN_CMN_USER_ACCOUNT_EMERGENCY, OSN_CMN_USER_ACCOUNT_TEMPORARY } osn__userAccountType_t; typedef enum osn__objectState { OSN_CMN_OBJSTATE_NORMAL, OSN_CMN_OBJSTATE_WARNING, OSN_CMN_OBJSTATE_BUSY, OSN_CMN_OBJSTATE_ERROR, OSN_CMN_OBJSTATE_INITIALIZING, OSN_CMN_OBJSTATE_MISSING, OSN_CMN_OBJSTATE_OFFLINE, OSN_CMN_OBJSTATE_DISCONNECTED, OSN_CMN_OBJSTATE_PAUSED } osn__objectState_t; typedef enum osn__licenseState { OSN_CMN_LICSTATE_NORMAL, OSN_CMN_LICSTATE_WARNING, OSN_CMN_LICSTATE_BUSY, OSN_CMN_LICSTATE_ERROR, OSN_CMN_LICSTATE_INITALIZING, OSN_CMN_LICSTATE_MISSING, OSN_CMN_LICSTATE_OFFLINE, OSN_CMN_LICSTATE_RETIRED } osn__licenseState_t; typedef enum osn__dataType { OSN_CMN_DATATYPE_STRING, OSN_CMN_DATATYPE_INT, OSN_CMN_DATATYPE_TIME, OSN_CMN_DATATYPE_FLOAT, OSN_CMN_DATATYPE_MAX } osn__dataType_t; typedef enum osn__eventType { OSN_CMN_EVENTTYPE_ADD, OSN_CMN_EVENTTYPE_REMOVE, OSN_CMN_EVENTTYPE_MODIFY } osn__eventType_t; typedef enum osn__eventListenerType { OSN_CMN_LISTENERTYPE_OBSERVER = 0, OSN_CMN_LISTENERTYPE_SECONDARY = 1, OSN_CMN_LISTENERTYPE_PRIMARY = 2 } osn__eventListenerType_t; typedef enum osn__eventListenerMode { OSN_CMN_LISTENERMODE_ENQUEUE = 0, OSN_CMN_LISTENERMODE_PROCESS = 1, OSN_CMN_LISTENERMODE_FLUSH = 2 } osn__eventListenerMode_t; typedef enum osn__replicaAssocType { OSN_CMN_REPLICA_CHILD, OSN_CMN_REPLICA_HEAD } osn__replicaAssocType_t; typedef enum osn__replicationActionType { OSN_CMN_REPLICATION_SETUP, OSN_CMN_REPLICATION_CONNECT, OSN_CMN_REPLICATION_DISCONNECT, OSN_CMN_REPLICATION_RECONNECT, OSN_CMN_REPLICATION_ADJUST } osn__replicationActionType_t; typedef enum osn__replicationCongestionPolicy { OSN_CMN_REPLICATION_CONGESTION_POLICY_SYNC, OSN_CMN_REPLICATION_CONGESTION_POLICY_PULL_AHEAD } osn__replicationCongestionPolicy_t; typedef enum osn__initPriorityType { OSN_INITPRIORITY_DEFAULT, OSN_INITPRIORITY_LOW, OSN_INITPRIORITY_MEDIUM, OSN_INITPRIORITY_HIGH } osn__initPriorityType_t; // // NOTE: NOTE: NOTE: New object types should always be added towards the end of the *enum only*, just before the // "OSN_CMN_OBJECTTYPE_MAX". Adding a new type in-between is a big *no-no*. // typedef enum osn__objectType { OSN_CMN_OBJECTTYPE_UNKNOWN, OSN_CMN_OBJECTTYPE_SNAPSHOT_SCHEDULE, OSN_CMN_OBJECTTYPE_SNAPSHOT_SCHEDULE_ASSOC, OSN_CMN_OBJECTTYPE_STORAGE_VOLUME, OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_UTILIZATION, OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_GROUP, OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_GROUP_ASSOC, OSN_CMN_OBJECTTYPE_STORAGE_POOL, OSN_CMN_OBJECTTYPE_STORAGE_POOL_DEVICE, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM, OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_ACL, OSN_CMN_OBJECTTYPE_HOST, OSN_CMN_OBJECTTYPE_HOST_GROUP, OSN_CMN_OBJECTTYPE_INITIATOR_PORT, OSN_CMN_OBJECTTYPE_TARGET_PORT, OSN_CMN_OBJECTTYPE_PHYSICAL_DISK, OSN_CMN_OBJECTTYPE_TASK, OSN_CMN_OBJECTTYPE_AUDIT_ENTRY, OSN_CMN_OBJECTTYPE_AUDIT_SETTINGS, OSN_CMN_OBJECTTYPE_ALERT, OSN_CMN_OBJECTTYPE_ALERT_CONFIG_SETTINGS, OSN_CMN_OBJECTTYPE_LICENSE, OSN_CMN_OBJECTTYPE_LICENSE_ACTIVATION, OSN_CMN_OBJECTTYPE_USER, OSN_CMN_OBJECTTYPE_USER_PERMISSION_ASSIGNMENT, OSN_CMN_OBJECTTYPE_USER_GROUP, OSN_CMN_OBJECTTYPE_USER_GROUP_ASSOC, OSN_CMN_OBJECTTYPE_ROLE, OSN_CMN_OBJECTTYPE_ROLE_PERMISSION_ASSIGNMENT, OSN_CMN_OBJECTTYPE_ROLE_SUBJECT_ASSOC, OSN_CMN_OBJECTTYPE_PERMISSION_DEFINITION, OSN_CMN_OBJECTTYPE_STORAGE_CLOUD, OSN_CMN_OBJECTTYPE_STORAGE_CLOUD_ASSOC, OSN_CMN_OBJECTTYPE_STORAGE_CLOUD_SUBJECT_ASSOC, OSN_CMN_OBJECTTYPE_SESSION, OSN_CMN_OBJECTTYPE_STORAGE_TIER, OSN_CMN_OBJECTTYPE_STORAGE_TIER_ASSOC, OSN_CMN_OBJECTTYPE_STORAGE_QUOTA, OSN_CMN_OBJECTTYPE_STORAGE_QUOTA_ASSOC, OSN_CMN_OBJECTTYPE_ACL, OSN_CMN_OBJECTTYPE_OBJECT_PROPERTY, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_LINK, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_GROUP, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_GROUP_ASSOC, OSN_CMN_OBJECTTYPE_REPLICA_ASSOC, OSN_CMN_OBJECTTYPE_PHYSICAL_DISK_PATH_ASSOC, OSN_CMN_OBJECTTYPE_HW_ALARM, OSN_CMN_OBJECTTYPE_HW_BBU, OSN_CMN_OBJECTTYPE_HW_DISK, OSN_CMN_OBJECTTYPE_HW_UNIT, OSN_CMN_OBJECTTYPE_HW_ENCLOSURE, OSN_CMN_OBJECTTYPE_HW_CONTROLLER, OSN_CMN_OBJECTTYPE_HW_CONTROLLER_GROUP, OSN_CMN_OBJECTTYPE_NETWORK_SHARE, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_CLIENT, OSN_CMN_OBJECTTYPE_REPLICATION_SCHEDULE, OSN_CMN_OBJECTTYPE_REPLICATION_SCHEDULE_ASSOC, OSN_CMN_OBJECTTYPE_HW_LOGICAL_DRIVE, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_RECOVERY_POINT, OSN_CMN_OBJECTTYPE_CLOUD_CONTAINER, OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER, OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_CREDENTIALS, OSN_CMN_OBJECTTYPE_CLOUD_BACKUP_SCHEDULE, OSN_CMN_OBJECTTYPE_CLOUD_BACKUP_SCHEDULE_ASSOC, OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_LOCATION, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_CLUSTER, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_CLUSTER_ASSOC, OSN_CMN_OBJECTTYPE_CLUSTER_FAILOVER_GROUP, OSN_CMN_OBJECTTYPE_FC_TARGET_PORT, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_SERVICE_CONFIG, OSN_CMN_OBJECTTYPE_WIDGET, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_LINK_KEY, OSN_CMN_OBJECTTYPE_STORAGE_POOL_PROFILE, OSN_CMN_OBJECTTYPE_STORAGE_QUOTA_SHARE_ASSOC, OSN_CMN_OBJECTTYPE_SITE_CLUSTER, OSN_CMN_OBJECTTYPE_SITE_CLUSTER_ASSOC, OSN_CMN_OBJECTTYPE_VIRTUAL_INTERFACE_ASSOC, OSN_CMN_OBJECTTYPE_IB_TARGET_PORT, OSN_CMN_OBJECTTYPE_HW_SWITCH_CREDENTIALS, OSN_CMN_OBJECTTYPE_HW_SWITCH, OSN_CMN_OBJECTTYPE_HW_SWITCH_ZONESET, OSN_CMN_OBJECTTYPE_HW_SWITCH_ADAPTER, OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP, OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP_POOL_ASSOC, OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP_SYSTEM_ASSOC, OSN_CMN_OBJECTTYPE_HW_SWITCH_CREDENTIALS_SYSTEM_ASSOC, OSN_CMN_OBJECTTYPE_LIBRATO_METRICS_CONFIG, OSN_CMN_OBJECTTYPE_STORAGE_POOL_REPLICATION_CONFIG, OSN_CMN_OBJECTTYPE_GLUSTER_VOLUME, OSN_CMN_OBJECTTYPE_GLUSTER_BRICK, OSN_CMN_OBJECTTYPE_GLUSTER_PEER, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_USER_ACCESS, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_CIFS_OPTION, OSN_CMN_OBJECTTYPE_ALERT_TRIGGER, OSN_CMN_OBJECTTYPE_HW_ENCLOSURE_LAYOUT, OSN_CMN_OBJECTTYPE_HW_UNIT_DISK_ASSOC, OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_GROUP, OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_INTERFACE, OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_MODULE, OSN_CMN_OBJECTTYPE_BACKUP_POLICY, OSN_CMN_OBJECTTYPE_BACKUP_JOB, OSN_CMN_OBJECTTYPE_GLUSTER_HA_FAILOVER_INTERFACE, OSN_CMN_OBJECTTYPE_CEPH_POOL, OSN_CMN_OBJECTTYPE_CEPH_OSD, OSN_CMN_OBJECTTYPE_CEPH_POOL_OSD_ASSOC, OSN_CMN_OBJECTTYPE_CEPH_CLUSTER, OSN_CMN_OBJECTTYPE_CEPH_MONITOR, OSN_CMN_OBJECTTYPE_CEPH_HA_FAILOVER_INTERFACE, OSN_CMN_OBJECTTYPE_CEPH_BLOCK_DEVICE, OSN_CMN_OBJECTTYPE_PHYSICAL_DISK_HOTSPARE_MARKER, OSN_CMN_OBJECTTYPE_SITE_VIF_RESOURCE, OSN_CMN_OBJECTTYPE_CLUSTER_RING, OSN_CMN_OBJECTTYPE_CLUSTER_RING_MEMBER, OSN_CMN_OBJECTTYPE_CEPH_CLUSTER_MEMBER, OSN_CMN_OBJECTTYPE_SW_CONTROLLER, OSN_CMN_OBJECTTYPE_SW_CONTROLLER_GROUP, OSN_CMN_OBJECTTYPE_SW_CONTROLLER_TARGET, OSN_CMN_OBJECTTYPE_SW_DISK_SESSION, OSN_CMN_OBJECTTYPE_QOS_POLICY, OSN_CMN_OBJECTTYPE_CEPH_PG_SET, OSN_CMN_OBJECTTYPE_CEPH_JOURNAL_DEVICE, OSN_CMN_OBJECTTYPE_RESOURCE_DOMAIN, OSN_CMN_OBJECTTYPE_CEPH_OBJECT_POOL_GROUP, OSN_CMN_OBJECTTYPE_CEPH_USER_ACCESS_ENTRY, OSN_CMN_OBJECTTYPE_RESOURCE_DOMAIN_ASSOC, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE_SYSTEM_ASSOC, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE_SHARE_ASSOC, OSN_CMN_OBJECTTYPE_CEPH_POOL_PROFILE, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_SESSION, OSN_CMN_OBJECTTYPE_PASSWORD_POLICY, OSN_CMN_OBJECTTYPE_MULTIPATH_CONFIG, OSN_CMN_OBJECTTYPE_REPLICA_REPORT_ENTRY, OSN_CMN_OBJECTTYPE_REPLICA_REPORT_SUMMARY, OSN_CMN_OBJECTTYPE_STORAGE_POOL_DEVICE_GROUP, OSN_CMN_OBJECTTYPE_NETWORK_SHARE_FILE_LOCK, OSN_CMN_OBJECTTYPE_MULTIFACTORAUTH_CONFIG, OSN_CMN_OBJECTTYPE_PROVIDER_APP, OSN_CMN_OBJECTTYPE_USER_APP_TOKEN, OSN_CMN_OBJECTTYPE_ALERT_TYPE, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_HW_CONFIG, OSN_CMN_OBJECTTYPE_MULTIFACTORAUTH_DEVICE, OSN_CMN_OBJECTTYPE_CEPH_RADOS_GATEWAY, OSN_CMN_OBJECTTYPE_CEPH_CRUSH_RULE, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE_PROFILE, OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE_ASSOC, OSN_CMN_OBJECTTYPE_MAX } osn__objectType_t; typedef enum osn__ipmiHealthState { OSN_IPMI_STATE_OK, OSN_IPMI_STATE_NO_SENSOR, OSN_IPMI_STATE_NON_CRITICAL, OSN_IPMI_STATE_CRITICAL, OSN_IPMI_STATE_NON_RECOVERABLE } osn__ipmiHealthState_t; typedef enum osn__cephJournalDeviceType { OSN_CMN_CEPH_JOURNAL_DEVICE_PARTITION = 0x0000, OSN_CMN_CEPH_JOURNAL_ENTIRE_DEVICE = 0x0001, OSN_CMN_CEPH_JOURNAL_POOL_FILE = 0x0002 } osn__cephJournalDeviceType_t; typedef enum osn__cephJournalMode { OSN_CMN_CEPH_JOURNAL_MODE_UNUSED = 0x0000, OSN_CMN_CEPH_JOURNAL_MODE_LEGACY_JOURNAL = 0x0001, OSN_CMN_CEPH_JOURNAL_MODE_WAL = 0x0002, OSN_CMN_CEPH_JOURNAL_MODE_DB = 0x0004, OSN_CMN_CEPH_JOURNAL_MODE_UNKNOWN = 0xffff } osn__cephJournalMode_t; typedef enum osn__cephOsdWeightPolicy { OSN_CMN_CEPH_WEIGHT_POLICY_LEGACY = 0x0000, OSN_CMN_CEPH_WEIGHT_POLICY_BY_SIZE = 0x0001 } osn__cephOsdWeightPolicy_t; typedef enum osn__cephOsdType { OSN_CMN_FLAG_CEPH_OSD_LEGACY_FILESTORE = 0x0000, OSN_CMN_FLAG_CEPH_OSD_BLUESTORE = 0x0001, OSN_CMN_FLAG_CEPH_OSD_AUTO_SELECT = 0x000f, OSN_CMN_FLAG_CEPH_OSD_UNKNOWN = 0xffff } osn__cephOsdType_t; typedef enum osn__cephUserAccessOpMask { OSN_USER_ACCESS_OPMASK_NONE = 0x0000, OSN_USER_ACCESS_OPMASK_READ = 0x0001, OSN_USER_ACCESS_OPMASK_WRITE = 0x0002, OSN_USER_ACCESS_OPMASK_DELETE = 0x0004, OSN_USER_ACCESS_OPMASK_MAX = 0x0008 } osn__cephUserAccessOpMask_t; // // Enter and Exit maintenance mode enum's go in lock-step. // For a given sub-system, all even number value denote // enter-maintenance, and odd-number's denote exit-maintenance. // This is done, to handle better default behavior handling. // typedef enum osn__enterMaintenanceModeMask { OSN_MAINTENANCE_MODE_ENTER_ALL = 0x0000, OSN_MAINTENANCE_MODE_CEPH_ENTER = 0x0002, OSN_MAINTENANCE_MODE_COROSYNC_ENTER = 0x0004 } osn_enterMaintenanceModeMask_t; typedef enum osn__scheduleTimerType { OSN_SCHEDULE_TIMER_CALENDAR_BASED = 0x0000, OSN_SCHEDULE_TIMER_INTERVAL_BASED = 0x0001, OSN_SCHEDULE_TIMER_MAX = 0x0002 } osn__scheduleTimerType_t; typedef enum osn__exitMaintenanceModeMask { OSN_MAINTENANCE_MODE_CEPH_EXIT = 0x0001, OSN_MAINTENANCE_MODE_COROSYNC_EXIT = 0x0003, OSN_MAINTENANCE_MODE_CLEAR_ALL = 0xFFFF } osn_exitMaintenanceModeMask_t; typedef enum osn__backupJobStage { OSN_CMN_BACKUP_STAGE_INITIALIZING = 0x0000, OSN_CMN_BACKUP_STAGE_SCANNING = 0x0001, OSN_CMN_BACKUP_STAGE_COPYING = 0x0002, OSN_CMN_BACKUP_STAGE_PURGING = 0x0003, OSN_CMN_BACKUP_STAGE_COMPLETED = 0x0004, OSN_CMN_BACKUP_STAGE_FAILED = 0x0005, } osn__backupJobStage_t; typedef enum osn__backupPurgePolicy { OSN_CMN_BACKUP_PURGE_POLICY_NEVER = 0x0000, OSN_CMN_BACKUP_PURGE_POLICY_AFTER_BACKUP = 0x0001, OSN_CMN_BACKUP_PURGE_POLICY_DAILY = 0x0002, OSN_CMN_BACKUP_PURGE_POLICY_WEEKLY = 0x0003, OSN_CMN_BACKUP_PURGE_POLICY_MAX = 0x0004 } osn__backupPurgePolicy_t; typedef enum osn__backupPolicyType { OSN_CMN_BACKUP_POLICY_TYPE_COPY_INBOUND = 0x0000, OSN_CMN_BACKUP_POLICY_TYPE_COPY_OUTBOUND = 0x0001, OSN_CMN_BACKUP_POLICY_TYPE_MOVE_INBOUND = 0x0002, OSN_CMN_BACKUP_POLICY_TYPE_MOVE_OUTBOUND = 0x0003, OSN_CMN_BACKUP_POLICY_TYPE_MAX = 0x0004 } osn__backupPolicyType_t; typedef enum osn__backupPolicyMountType { OSN_CMN_BACKUP_POLICY_MOUNT_NFS = 0x0000, OSN_CMN_BACKUP_POLICY_MOUNT_GLUSTER = 0x0001, OSN_CMN_BACKUP_POLICY_MOUNT_OCFS2 = 0x0002, OSN_CMN_BACKUP_POLICY_MOUNT_CIFS = 0x0003, } osn__backupPolicyMountType_t; typedef enum osn__backupPolicyRetentionCriteria { OSN_CMN_BACKUP_POLICY_RETENTION_ACCESS_TIME = 0x0001, OSN_CMN_BACKUP_POLICY_RETENTION_MODIFY_TIME = 0x0002, OSN_CMN_BACKUP_POLICY_RETENTION_CREATE_TIME = 0x0004, } osn__backupPolicyRetentionCriteria_t; typedef enum osn__replicaRetentionTag { OSN_CMN_REPLICATION_RETENTION_TAG_NONE = 0x0000, OSN_CMN_REPLICATION_RETENTION_TAG_DELTA = 0x0001, OSN_CMN_REPLICATION_RETENTION_TAG_DAILY = 0x0002, OSN_CMN_REPLICATION_RETENTION_TAG_WEEKLY = 0x0004, OSN_CMN_REPLICATION_RETENTION_TAG_BIWEEKLY = 0x0008, OSN_CMN_REPLICATION_RETENTION_TAG_MONTHLY = 0x0010, OSN_CMN_REPLICATION_RETENTION_TAG_BIMONTHLY = 0x0020, OSN_CMN_REPLICATION_RETENTION_TAG_QUARTERLY = 0x0040, OSN_CMN_REPLICATION_RETENTION_TAG_YEARLY = 0x0080, OSN_CMN_REPLICATION_RETENTION_TAG_HOURLY = 0x0100, } osn__replicaRetentionTag_t; typedef enum osn__alertSubscription { OSN_CMN_ALERT_SUBSCRIPTION_NONE = 0, OSN_CMN_ALERT_SUBSCRIPTION_CRITICAL = 1, OSN_CMN_ALERT_SUBSCRIPTION_ERROR = 2, OSN_CMN_ALERT_SUBSCRIPTION_WARNING = 4, OSN_CMN_ALERT_SUBSCRIPTION_INFO = 8 } osn__alertSubscription_t; typedef enum osn__errorLevel { OSN_CMN_SEVERITY_ALWAYS = 0, OSN_CMN_SEVERITY_CRITICAL = 1, OSN_CMN_SEVERITY_ERROR = 2, OSN_CMN_SEVERITY_WARNING = 3, OSN_CMN_SEVERITY_INFO = 4, OSN_CMN_SEVERITY_DEBUG = 5, OSN_CMN_SEVERITY_VERBOSE = 6, OSN_CMN_SEVERITY_DEBUG2 = 7 } osn__errorLevel_t; typedef enum osn__taskState { OSN_TASKSTATE_INITIALIZING, OSN_TASKSTATE_QUEUED, OSN_TASKSTATE_RUNNING, OSN_TASKSTATE_FAILED, OSN_TASKSTATE_CANCELLED, OSN_TASKSTATE_COMPLETED, OSN_TASKSTATE_WAITING, OSN_TASKSTATE_RECOVERED } osn__taskState_t; typedef enum osn__hostType { OSN_HOSTTYPE_UNKNOWN, OSN_HOSTTYPE_AIX, OSN_HOSTTYPE_HPUX, OSN_HOSTTYPE_LINUX, OSN_HOSTTYPE_SOLARIS, OSN_HOSTTYPE_VMWARE, OSN_HOSTTYPE_WINDOWS, OSN_HOSTTYPE_XENSERVER, OSN_HOSTTYPE_OTHER, OSN_HOSTTYPE_MAC, OSN_HOSTTYPE_MAX } osn__hostType_t; typedef enum osn__shareSettingsInheritance { OSN_SHARE_INHERITS_NONE = 0, OSN_SHARE_INHERITS_CIFS_ACCESS = 1, OSN_SHARE_INHERITS_NFS_ACCESS = 2 } osn__shareSettingsInheritance_t; typedef enum osn__retentionTag { OSN_RETENTIONTAG_NONE = 0, OSN_RETENTIONTAG_DAY = 1, OSN_RETENTIONTAG_WEEK = 2, OSN_RETENTIONTAG_MONTH = 4, OSN_RETENTIONTAG_YEARLY = 8, OSN_RETENTIONTAG_MAX = 9 } osn__retentionTag_t; typedef enum osn__networkShareType { OSN_NETWORKSHARETYPE_STANDARD, OSN_NETWORKSHARETYPE_SUBVOL_BTRFS, OSN_NETWORKSHARETYPE_CLOUD, OSN_NETWORKSHARETYPE_SUBVOL_ZFS, OSN_NETWORKSHARETYPE_GLUSTER_VOLUME, OSN_NETWORKSHARETYPE_ALIAS, OSN_NETWORKSHARETYPE_SUBSHARE } osn__networkShareType_t; typedef enum osn__storageVolumeType { OSN_STORAGEVOLUMETYPE_FILE, OSN_STORAGEVOLUMETYPE_FILE_BTRFS, OSN_STORAGEVOLUMETYPE_FILE_EXT3, OSN_STORAGEVOLUMETYPE_FILE_EXT4, OSN_STORAGEVOLUMETYPE_RAW_DEVICE, OSN_STORAGEVOLUMETYPE_FILE_ZFS, OSN_STORAGEVOLUMETYPE_FILE_XFS, OSN_STORAGEVOLUMETYPE_FILE_S3QL, OSN_STORAGEVOLUMETYPE_FILE_JFS, OSN_STORAGEVOLUMETYPE_CEPH_RBD } osn__storageVolumeType_t; typedef enum osn__hwEnclosureLayoutFlow { OSN_ENCLOSURELAYOUT_FLOW_T2B_L2R, OSN_ENCLOSURELAYOUT_FLOW_T2B_R2L, OSN_ENCLOSURELAYOUT_FLOW_B2T_L2R, OSN_ENCLOSURELAYOUT_FLOW_B2T_R2L, OSN_ENCLOSURELAYOUT_FLOW_R2L_T2B, OSN_ENCLOSURELAYOUT_FLOW_R2L_B2T, OSN_ENCLOSURELAYOUT_FLOW_L2R_T2B, OSN_ENCLOSURELAYOUT_FLOW_L2R_B2T } osn__hwEnclosureLayoutFlow_t; typedef enum osn__replicationState { OSN_CMN_REPLICATION_STATE_PREPARING, OSN_CMN_REPLICATION_STATE_INITIALIZING, OSN_CMN_REPLICATION_STATE_SYNCHRONIZING, OSN_CMN_REPLICATION_STATE_SYNCHRONIZED, OSN_CMN_REPLICATION_STATE_RESYNCHRONIZING, OSN_CMN_REPLICATION_STATE_PAUSED, OSN_CMN_REPLICATION_STATE_INIT_FAILED, OSN_CMN_REPLICATION_STATE_SYNC_FAILED, OSN_CMN_REPLICATION_STATE_RESYNC_FAILED, OSN_CMN_REPLICATION_STATE_SKIPPED } osn__replicationState_t; typedef enum osn__remoteReplicaFlags { OSN_CMN_REPLICA_FLAG_NONE, OSN_CMN_REPLICA_FLAG_SOURCE, OSN_CMN_REPLICA_FLAG_TARGET, OSN_CMN_REPLICA_FLAG_SOURCE_AND_TARGET } osn__remoteReplicaFlags_t; typedef enum osn__raidType { OSN_RAIDTYPE_RAID0 = 0, OSN_RAIDTYPE_RAID1 = 1, OSN_RAIDTYPE_RAID2 = 2, OSN_RAIDTYPE_RAID3 = 3, OSN_RAIDTYPE_RAID4 = 4, OSN_RAIDTYPE_RAID5 = 5, OSN_RAIDTYPE_RAID6 = 6, OSN_RAIDTYPE_RAID7 = 7, OSN_RAIDTYPE_RAID8 = 8, OSN_RAIDTYPE_RAID9 = 9, OSN_RAIDTYPE_RAID10 = 10, OSN_RAIDTYPE_RAID_AUTO = 11, OSN_RAIDTYPE_SINGLE = 12, OSN_RAIDTYPE_JBOD = 13, OSN_RAIDTYPE_RAID50 = 14, OSN_RAIDTYPE_RAID60 = 15, OSN_RAIDTYPE_RAID70 = 16, OSN_RAIDTYPE_MULTIPLE = 17, OSN_RAIDTYPE_MAX = 18 } osn__raidType_t; typedef enum osn__storagePoolType { OSN_STORAGEPOOLTYPE_BTRFS, OSN_STORAGEPOOLTYPE_EXT3, OSN_STORAGEPOOLTYPE_EXT4, OSN_STORAGEPOOLTYPE_XFS, OSN_STORAGEPOOLTYPE_S3QL, OSN_STORAGEPOOLTYPE_JFS, OSN_STORAGEPOOLTYPE_ZFS, OSN_STORAGEPOOLTYPE_CEPH, OSN_STORAGEPOOLTYPE_SWAP, OSN_STORAGEPOOLTYPE_PASSTHRU, OSN_STORAGEPOOLTYPE_LOCAL, OSN_STORAGEPOOLTYPE_UNKNOWN, OSN_STORAGEPOOLTYPE_MAX } osn__storagePoolType_t; typedef enum osn__vdevType { OSN_VDEVTYPE_NA = 0, OSN_VDEVTYPE_DATA = 1, OSN_VDEVTYPE_LOGS = 2, OSN_VDEVTYPE_CACHE = 3, OSN_VDEVTYPE_SPARES = 4, OSN_VDEVTYPE_MAX = 5 } osn__vdevType_t; typedef enum osn__storagePoolCacheType { OSN_STORAGEPOOLCACHETYPE_READCACHE = 1, OSN_STORAGEPOOLCACHETYPE_WRITELOG = 2, } osn__storagePoolCacheType_t; typedef enum osn__hotsparePoolRepairPolicy { OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_AND_GLOBAL = 0, OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_ONLY = 1, OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_EXACTMATCH = 2, OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_ONLY_EXACTMATCH = 3, OSN_HOTSPARE_POOL_REPAIR_POLICY_MANUAL_REPAIR = 4, OSN_HOTSPARE_POOL_REPAIR_POLICY_MAX = 5 } osn__hotsparePoolRepairPolicy_t; typedef enum osn__hotsparePoolRepairState { OSN_HOTSPARE_POOL_REPAIR_STATE_HEALTHY = 0, OSN_HOTSPARE_POOL_REPAIR_STATE_REPAIR_NEEDED = 1, OSN_HOTSPARE_POOL_REPAIR_STATE_REPAIR_NEEDED_OPERATOR_APPROVAL_REQUIRED = 2, OSN_HOTSPARE_POOL_REPAIR_STATE_AUTO_REPAIR_IN_PROGRESS = 3, OSN_HOTSPARE_POOL_REPAIR_STATE_MAX = 4 } osn__hotsparePoolRepairState_t; typedef enum osn__arpFilterStatus { OSN_ARP_FILTERING_ENABLED, OSN_ARP_FILTERING_DISABLED } osn__arpFilterStatus_t; typedef enum osn__multipathConfigMode { OSN_MULTIPATH_AUTOCONFIG_DISABLED, OSN_MULTIPATH_AUTOCONFIG_ENABLED, OSN_MULTIPATH_AUTOCONFIG_MAX } osn__multipathConfigMode_t; typedef enum osn__logCollectionMode { OSN_LOG_COLLECTION_NEVER, OSN_LOG_COLLECTION_WEEKLY, OSN_LOG_COLLECTION_BIWEEKLY, OSN_LOG_COLLECTION_MONTHLY, OSN_LOG_COLLECTION_MAX } osn__logCollectionMode_t; typedef enum osn__quotaSubjectType { OSN_QUOTA_SUBJECT_POSIX_USER = 0, OSN_QUOTA_SUBJECT_POSIX_GROUP = 1, OSN_QUOTA_SUBJECT_AD_USER = 2, OSN_QUOTA_SUBJECT_AD_GROUP = 3 } osn__quotaSubjectType_t; typedef enum osn__arpFilterMode { OSN_ARP_FILTER_MODE_AUTO, OSN_ARP_FILTER_MODE_ENABLED, OSN_ARP_FILTER_MODE_DISABLED, OSN_ARP_FILTER_MODE_MAX } osn__arpFilterMode_t; typedef enum osn__bondMode { OSN_BOND_MODE_ROUND_ROBIN = 0x000000, OSN_BOND_MODE_ACTIVE_BACKUP = 0x000001, OSN_BOND_MODE_BALANCE_XOR = 0x000002, OSN_BOND_MODE_BROADCAST = 0x000003, OSN_BOND_MODE_LACP = 0x000004, OSN_BOND_MODE_BALANCE_TLB = 0x000005, OSN_BOND_MODE_BALANCE_TRLB = 0x000006, OSN_BOND_MODE_LACP_LAYER34 = 0x010004, OSN_BOND_MODE_MAX = 0x010008 } osn__bondMode_t; typedef enum osn__permissionScope { OSN_SCOPE_NONE = 0, OSN_SCOPE_USER = 1, OSN_SCOPE_STORAGE_CLOUD = 2, OSN_SCOPE_SYSTEM = 3, OSN_SCOPE_GRID = 4 } osn__permissionScope_t; typedef enum osn__resourceAccessRequestType { OSN_CMN_REQUEST_VIEW, OSN_CMN_REQUEST_UTILIZE, OSN_CMN_REQUEST_MODIFY } osn__resourceRequestType_t; // todo: needs to be refactored typedef enum osn__resourceAccessMode { OSN_CMN_RESOURCEACCESS_AUTO = 0x0000, OSN_CMN_RESOURCEACCESS_MULTIGROUP_SHARED = 0x0001, OSN_CMN_RESOURCEACCESS_GROUP_EXCLUSIVE = 0x0002, OSN_CMN_RESOURCEACCESS_IMMUTABLE = 0x0004, OSN_CMN_RESOURCEACCESS_MULTIGROUP_SHARED_IMMUTABLE = 0x0005, OSN_CMN_RESOURCEACCESS_GROUP_EXCLUSIVE_IMMUTABLE = 0x0006, } osn__resourceAccessMode_t; typedef enum osn__diskCategory { OSN_DISKCAT_ANY = 0, OSN_DISKCAT_HDD = 1, OSN_DISKCAT_SSD = 2 } osn__diskCategory_t; typedef enum osn__diskType { OSN_DISKTYPE_UNKNOWN = 0, OSN_DISKTYPE_IDE = 1, OSN_DISKTYPE_SATA = 2, OSN_DISKTYPE_SCSI = 3, //general SCSI devices & HW RAID cards with SCSI drives OSN_DISKTYPE_SSD = 4, OSN_DISKTYPE_SSHD = 5, OSN_DISKTYPE_AOE = 6, OSN_DISKTYPE_MULTI = 7, OSN_DISKTYPE_SAS = 8, //only used for HBA SCSI devices OSN_DISKTYPE_PMEM = 9, OSN_DISKTYPE_NVME = 10, } osn__diskType_t; typedef enum osn__correlationDiskType { OSN_CORRELATIONDISKTYPE_UNKNOWN = 0, OSN_CORRELATIONDISKTYPE_HWUNIT = 1, OSN_CORRELATIONDISKTYPE_HWDISK = 2, } osn__correlationDiskType_t; typedef enum osn__licenseEdition { OSN_LICENSE_EDITION_FREE, OSN_LICENSE_EDITION_TRIAL, OSN_LICENSE_EDITION_STANDARD, OSN_LICENSE_EDITION_ENTERPRISE, OSN_LICENSE_EDITION_PLATINUM, OSN_LICENSE_EDITION_CLOUD, OSN_LICENSE_EDITION_MIGRATION } osn__licenseEdition_t; typedef enum osn__licenseDuration { OSN_LICENSE_DURATION_PERPETUAL, OSN_LICENSE_DURATION_TIMELIMITED } osn__licenseDuration_t; typedef enum osn__licenseCategory { OSN_LICENSE_CATEGORY_SYSTEM, OSN_LICENSE_CATEGORY_FEATURE, OSN_LICENSE_CATEGORY_FEATURE_TERABYTES, OSN_LICENSE_CATEGORY_FEATURE_VOLUMES, OSN_LICENSE_CATEGORY_FEATURE_SNAPSHOTS, OSN_LICENSE_CATEGORY_FEATURE_CLOUDS, OSN_LICENSE_CATEGORY_FEATURE_NODES, OSN_LICENSE_CATEGORY_FEATURE_USERS, OSN_LICENSE_CATEGORY_FEATURE_SSD, OSN_LICENSE_CATEGORY_FEATURE_REPLICATION, OSN_LICENSE_CATEGORY_SUPPORT } osn__licenseCategory_t; typedef enum osn__licenseType { OSN_LICENSE_TYPE_NODE, OSN_LICENSE_TYPE_VOLUME, OSN_LICENSE_TYPE_SITE } osn__licenseType_t; typedef enum osn__lockType { OSN_LOCK_SHARED, OSN_LOCK_PROTECTED, OSN_LOCK_EXCLUSIVE } osn__lockType_t; typedef enum osn__cloudProviderType { OSN_CLOUD_PROVIDER_AMAZON_S3, OSN_CLOUD_PROVIDER_SFTP, OSN_CLOUD_PROVIDER_GOOGLE, OSN_CLOUD_PROVIDER_MICROSOFT_AZURE, OSN_CLOUD_PROVIDER_OPENSTACK_SWIFT, OSN_CLOUD_PROVIDER_DROPBOX, OSN_CLOUD_PROVIDER_CEPH, OSN_CLOUD_PROVIDER_IBMCOS, OSN_CLOUD_PROVIDER_BACKBLAZE_B2 } osn__cloudProviderType_t; typedef enum osn__cloudContainerType { OSN_CLOUD_CONTAINER_S3QL=0, OSN_CLOUD_CONTAINER_S3FS=1, // Deprecated OSN_CLOUD_CONTAINER_RCLONE=2 } osn__cloudContainerType_t; typedef enum osn__hwControllerCapabilities { HW_CONTROLLER_API_NONE = 0x00000000, HW_CONTROLLER_API_RESCAN = 0x00000001, HW_CONTROLLER_API_CREATE_UNIT = 0x00000002, //HBAs do not set this, only RAID cards HW_CONTROLLER_API_GROW_UNIT = 0x00000004, HW_CONTROLLER_API_GROW_UNIT_ADV_STRIPE = 0x00000008, HW_CONTROLLER_API_GROW_UNIT_ADV_PRIORITY = 0x00000010, HW_CONTROLLER_API_CREATE_SSD_CACHE = 0x00000020, HW_CONTROLLER_API_SUPPORTS_SSD_CACHE_RAID = 0x00000040, HW_CONTROLLER_API_SUPPORTS_UNIT_DISK_CORRELATION = 0x00000080, HW_CONTROLLER_API_SUPPORTS_ENCRYPTION = 0x00000100, HW_CONTROLLER_API_DISK_PASSTHRU = 0x00000200, HW_CONTROLLER_API_SUPPORTS_RAID = 0x00000400, HW_CONTROLLER_API_SUPPORTS_JBOD = 0x00000800 } osn__hwControllerCapabilities_t; typedef enum osn__hwDiskCapabilities { HW_DISK_API_NONE = 0, HW_DISK_API_MARK_HOT_SPARE = 1, HW_DISK_API_IDENTIFY = 2, HW_DISK_API_REMOVE_DISK = 4, HW_DISK_API_SUPPORTS_ENCRYPTION = 8 } osn__hwDiskCapabilities_t; typedef enum osn__hwUnitCapabilities { HW_UNIT_API_NONE = 0, HW_UNIT_API_IDENTIFY = 1, HW_UNIT_API_DELETE = 2, HW_UNIT_API_SUPPORTS_ENCRYPTION = 8 } osn__hwUnitCapabilities_t; typedef enum osn__aclType { OSN_ACL_TYPE_POSIX, OSN_ACL_TYPE_OFF } osn__aclType_t; typedef enum osn__vvolType { OSN_VVOL_TYPE_NONE = 0, OSN_VVOL_TYPE_SUBVOL_CONFIG = 1, OSN_VVOL_TYPE_SUBVOL_DATA = 2, OSN_VVOL_TYPE_SUBVOL_SWAP = 3, OSN_VVOL_TYPE_PE = 4 } osn__vvolType_t; typedef enum osn__capabilityValType { OSN_CAPABILITY_VAL_TYPE_SET = 0, OSN_CAPABILITY_VAL_TYPE_RANGE = 1 } osn__capabilityValType_t; typedef enum osn__providerType { OSN_PROVIDER_TYPE_NONE, OSN_PROVIDER_TYPE_VMWARE_VASA } osn__providerType_t; typedef enum osn__activeDirSearchStatus { OSN_CMN_AD_STAT_SUCCESS, OSN_CMN_AD_STAT_TOO_MANY_HITS, OSN_CMN_AD_STAT_NOT_FOUND, } osn__activeDirSearchStatus_t; typedef enum osn__userAppTokenAccessMode { OSN_APPTOKEN_DISABLED, OSN_APPTOKEN_LOCAL_ONLY, OSN_APPTOKEN_REMOTE_ONLY, OSN_APPTOKEN_ALL } osn__userAppTokenAccessMode_t; typedef enum osn__managerClass { OSN_MANAGERCLASS_NONE, OSN_MANAGERCLASS_ALUACONFIG, OSN_MANAGERCLASS_BLINK, OSN_MANAGERCLASS_CEPH, OSN_MANAGERCLASS_DISK, OSN_MANAGERCLASS_FABRIC, OSN_MANAGERCLASS_FIREWALL, OSN_MANAGERCLASS_GLUSTER, OSN_MANAGERCLASS_GRIDSYNC, OSN_MANAGERCLASS_HACONNECTIVITY, OSN_MANAGERCLASS_HAFAILOVER, OSN_MANAGERCLASS_HARDWARE, OSN_MANAGERCLASS_HOTSPARE, OSN_MANAGERCLASS_INFINIBAND, OSN_MANAGERCLASS_LIBRATO, OSN_MANAGERCLASS_POOL, OSN_MANAGERCLASS_REPLICATION, OSN_MANAGERCLASS_SHARENAMESPACE, OSN_MANAGERCLASS_SMART, OSN_MANAGERCLASS_STATS, OSN_MANAGERCLASS_TARGETPORT, OSN_MANAGERCLASS_MAX } osn__managerClass_t; // // Common structs // struct osn__keyValuePair { xsd__string key; xsd__string value; xsd__unsignedInt type; }; class osn__objectProperty { xsd__string objectId; xsd__unsignedInt objectType; xsd__string key; xsd__string value; xsd__unsignedInt type; }; struct osn__i18nString { xsd__string messageId; xsd__string messageText; std::list<struct osn__keyValuePair> insertionParams; }; struct osn__errorMessage { xsd__unsignedInt severity; struct osn__i18nString message; xsd__unsignedInt errorCode; xsd__string file; xsd__unsignedInt line; xsd__string function; }; // // Common objects / base classes // class osn__acl { public: xsd__string objectId; xsd__unsignedInt objectType; xsd__string ownerId; xsd__unsignedInt ownerType; xsd__unsignedInt accessLevel; xsd__unsignedInt reserved; }; class osn__resourceHealthCheck { public: xsd__string id; xsd__string name; xsd__unsignedInt type; xsd__unsignedInt state; std::list<xsd__string> stateDetail; }; class osn__object { public: xsd__string id; xsd__string name; xsd__string customId; xsd__unsignedInt state; xsd__string stateDetail; xsd__unsignedInt type; xsd__dateTime createdTimeStamp; xsd__string createdByUserId; xsd__dateTime modifiedTimeStamp; xsd__string modifiedByUserId; xsd__boolean isRemote; xsd__string storageSystemId; xsd__unsignedInt ownershipRevision; std::list<osn__acl> acls; std::list<osn__objectProperty> properties; }; class osn__nodeAssoc { xsd__string storageSystemId; xsd__boolean isRemote; }; class osn__event : public osn__object { public: xsd__unsignedInt index; xsd__string operation; xsd__unsignedInt objectType; xsd__string objectId; xsd__string parentId; xsd__string parentId2; xsd__string category; xsd__dateTime serviceTimeStamp; xsd__dateTime timeStamp; xsd__string eventId; xsd__string originId; xsd__boolean isSync; xsd__boolean isRebroadcast; std::list<xsd__string> objectIdList; std::list<xsd__string> objectDataList; std::list<struct osn__keyValuePair> params; }; class osn__eventListener { public: xsd__string processorSystemId; xsd__string broadcasterSystemId; xsd__string preferredIpAddress; std::list<xsd__string> ipAddressList; xsd__unsignedInt listenerType; xsd__unsignedInt listenerMode; xsd__string listenerId; xsd__dateTime serviceTimeStamp; xsd__dateTime lastRegistrationRequest; xsd__dateTime lastRegistrationStamp; xsd__unsignedInt maxEvents; xsd__unsignedInt state; std::list<xsd__string> resyncList; }; class osn__alert : public osn__object { public: xsd__string objectId; xsd__unsignedInt objectType; xsd__unsignedInt severity; xsd__dateTime timeStamp; xsd__string title; xsd__string description; xsd__unsignedInt snmpTrapType; xsd__string storageSystemName; }; class osn__alertType : public osn__object { public: xsd__string description; xsd__unsignedInt objectType; xsd__dateTime pauseUntilDate; xsd__unsignedInt snmpTrapType; xsd__unsignedInt severity; }; class osn__task : public osn__object { public: xsd__dateTime startTimeStamp; xsd__dateTime finishTimeStamp; xsd__unsignedInt progress; xsd__unsignedInt taskState; xsd__string description; xsd__string parentId; xsd__string operation; xsd__string objectType; xsd__string clientIpAddress; struct osn__i18nString i18nDescription; struct osn__errorMessage errorMessage; xsd__unsignedInt retainState; }; class osn__lock : public osn__object { public: std::string objectId; unsigned int objectType; unsigned int lockType; std::string taskId; }; class osn__auditEntry : public osn__task { public: // same fields as the task object // additional properties may be set in osn__object }; class osn__auditSettings { public: xsd__string id; xsd__boolean isEnabled; }; class osn__timeZone { public: xsd__string countryCode; xsd__string tz; xsd__string comments; };