ArcSDE C API VB 函数声明

Attribute VB_Name = "modHeader_sdetype"
Option Explicit

' VB declarations that correspond to sdetype.h

'/************************************************************
'*** ALLOWABLE SHAPE TYPE MASKS FOR LAYERS
'************************************************************/
Public Const SE_NIL_TYPE_MASK As Long = 1               ' (1L)
Public Const SE_POINT_TYPE_MASK As Long = 2             ' (1L<<1)
Public Const SE_LINE_TYPE_MASK As Long = 4              ' (1L<<2)
Public Const SE_SIMPLE_LINE_TYPE_MASK As Long = 8       ' (1L<<3)
Public Const SE_AREA_TYPE_MASK As Long = 16             ' (1L<<4)
'Public Const SE_UNVERIFIED_SHAPE_MASK As Long = 2048    ' (1L<<11)
Public Const SE_MULTIPART_TYPE_MASK As Long = 262144    ' (1L<<18)

'/************************************************************
'*** ALLOWABLE STORAGE TYPE MASKS FOR LAYERS
'************************************************************/
Public Const SE_STORAGE_NORMALIZED_TYPE As Long = 8388608       ' (1L<<23)
Public Const SE_STORAGE_SDEBINARY_TYPE As Long = 16777216       ' (1L<<24)
Public Const SE_STORAGE_WKB_TYPE As Long = 33554432             ' (1L<<25)
Public Const SE_STORAGE_SQL_TYPE As Long = 67108864             ' (1L<<26)
Public Const SE_STORAGE_SPATIAL_TYPE As Long = 134217728        ' (1L<<27)
Public Const SE_STORAGE_LOB_TYPE As Long = 268435456            ' (1L<<28)

'/************************************************************
'*** ALLOWABLE LAYER CHARATERISTICS
'************************************************************/
Public Const SE_LAYER_AUTO_REGISTER As Long = 32            '(1L<<5)
Public Const SE_LAYER_HAS_USER_DEFINED_EXTENT As Long = 64  ' (1L<<6)

'/************************************************************
'*** ALLOWABLE LAYER MASKS
'************************************************************/
Public Const SE_LAYER_HAS_GEODETIC_EXTENT As Long = 2 ' (1L<<1)

'/************************************************************
'*** LAYER PRECISION
'************************************************************/
Public Const SE_LAYER_PRECISION_DEFAULT As Long = 0
Public Const SE_LAYER_PRECISION_32_BIT As Long = 32
Public Const SE_LAYER_PRECISION_64_BIT As Long = 64

'/************************************************************
'*** OGC Storage Type Declarations
'************************************************************/
Public Const SE_OGC_STORAGE_NORMALIZED As Long = 0
Public Const SE_OGC_STORAGE_WKB As Long = 1
Public Const SE_OGC_STORAGE_OTHER As Long = 2

'/************************************************************
'*** OGC Geometry Type Values
'************************************************************/
Public Const SE_OGC_GEOMETRY As Long = 0
Public Const SE_OGC_POINT As Long = 1
Public Const SE_OGC_CURVE As Long = 2
Public Const SE_OGC_LINESTRING As Long = 3
Public Const SE_OGC_SURFACE As Long = 4
Public Const SE_OGC_POLYGON As Long = 5
Public Const SE_OGC_COLLECTION As Long = 6
Public Const SE_OGC_MULTIPOINT As Long = 7
Public Const SE_OGC_MULTICURVE As Long = 8
Public Const SE_OGC_MULTILINESTRING As Long = 9
Public Const SE_OGC_MULTISURFACE As Long = 10
Public Const SE_OGC_MULTIPOLYGON As Long = 11

'/***************************************/
'/****** ACCESS RIGHTS CONSTANTS ********/
'/***************************************/
Public Const SE_SELECT_PRIVILEGE As Long = 2            ' (1<<1)
Public Const SE_UPDATE_PRIVILEGE As Long = 4            ' (1<<2)
Public Const SE_INSERT_PRIVILEGE As Long = 8            ' (1<<3)
Public Const SE_DELETE_PRIVILEGE As Long = 16           ' (1<<4)

'/***************************************************/
'/****** TABLE MASKS FOR UPDATING DBMS STATS ********/
'/***************************************************/
Public Const SE_UPDATE_ADDS_TABLE_STATS As Long = 2 '     (1L<<1)
Public Const SE_UPDATE_DELETES_TABLE_STATS As Long = 4 '  (1L<<2)
Public Const SE_UPDATE_FEATURE_TABLE_STATS As Long = 8 '  (1L<<4)
Public Const SE_UPDATE_BUSINESS_TABLE_STATS As Long = 32 '  (1L<<5)
Public Const SE_UPDATE_RASTER_TABLE_STATS As Long = 64 '   (1L<<6)
Public Const SE_UPDATE_XML_TABLE_STATS As Long = 128 '      (1L<<7)
Public Const SE_UPDATE_ALL_TABLE_STATS As Long = SE_UPDATE_ADDS_TABLE_STATS Or SE_UPDATE_DELETES_TABLE_STATS Or SE_UPDATE_FEATURE_TABLE_STATS Or SE_UPDATE_RASTER_TABLE_STATS Or SE_UPDATE_XML_TABLE_STATS Or SE_UPDATE_BUSINESS_TABLE_STATS

'/************************************************************
'*** LAYER LOCKING MODES
'************************************************************/
Public Const SE_WRITE_LOCK As Long = 1
Public Const SE_READ_LOCK As Long = 2

'/************************************************************
'*** ATTRIBUTE DATA TYPES
'************************************************************/
Public Const SE_INT16_TYPE As Integer = 1            '/* 2-byte Integer*/
Public Const SE_INT32_TYPE As Long = 2             '/* 4-byte Integer*/
Public Const SE_FLOAT32_TYPE As Long = 3               '/* 4-byte Float */
Public Const SE_FLOAT64_TYPE As Long = 4               '/* 4-byte Float */
Public Const SE_STRING_TYPE As Long = 5              '/* Null Term. Character Array */
Public Const SE_BLOB_TYPE As Long = 6                '/* Variable Length Data */
Public Const SE_DATE_TYPE As Long = 7                '/* Struct tm Date */
Public Const SE_SHAPE_TYPE  As Long = 8              '/* Shape geometry (SE_SHAPE) */
Public Const SE_RASTER_TYPE As Long = 9              '/* Raster */
Public Const SE_XML_TYPE As Long = 10                '/* XML Document */
Public Const SE_INT64_TYPE As Long = 11              '/* 8-byte Integer */
Public Const SE_UUID_TYPE As Long = 12               '/* A Universal Unique ID */
Public Const SE_CLOB_TYPE As Long = 13               '/* Character variable length data */
Public Const SE_NSTRING_TYPE As Long = 14            '/* UNICODE Null Term. Character Array */
Public Const SE_NCLOB_TYPE As Long = 15              '/* UNICODE Character Large Object */

Public Const SE_POINT_TYPE As Long = 20              '/* Point ADT */
Public Const SE_CURVE_TYPE As Long = 21              '/* LineString ADT */
Public Const SE_LINESTRING_TYPE As Long = 22         '/* LineString ADT */
Public Const SE_SURFACE_TYPE As Long = 23            '/* Polygon ADT */
Public Const SE_POLYGON_TYPE As Long = 24            '/* Polygon ADT */
Public Const SE_GEOMETRYCOLLECTION_TYPE As Long = 25 '/* MultiPoint ADT */
Public Const SE_MULTISURFACE_TYPE As Long = 26       '/* LineString ADT */
Public Const SE_MULTICURVE_TYPE As Long = 27         '/* LineString ADT */
Public Const SE_MULTIPOINT_TYPE As Long = 28         '/* MultiPoint ADT */
Public Const SE_MULTILINESTRING_TYPE As Long = 29    '/* MultiLineString ADT */
Public Const SE_MULTIPOLYGON_TYPE As Long = 30       '/* MultiPolygon ADT */
Public Const SE_GEOMETRY_TYPE As Long = 31           '/* Geometry ADT */

'/************************************************************
'*** OLD ATTRIBUTE DATA TYPES (Depreciated)
'************************************************************/
Public Const SE_SMALLINT_TYPE As Long = 1            '/* 2-byte Integer*/
Public Const SE_INTEGER_TYPE As Long = 2             '/* 4-byte Integer*/
Public Const SE_FLOAT_TYPE As Long = 3               '/* 4-byte Float */
Public Const SE_DOUBLE_TYPE As Long = 4              '/* 8-byte Float */

'/************************************************************
'*** CONSTANTS DEFINING LIMITS
'************************************************************/
Public Const SE_MAX_MESSAGE_LENGTH As Long = 512
Public Const SE_MAX_SQL_MESSAGE_LENGTH As Long = 4096
Public Const SE_MAX_PATH_LEN As Long = 512

Public Const SE_MAX_CONFIG_KEYWORD_LEN As Long = 32
Public Const SE_MAX_CONFIG_STR_LEN As Long = 2048
Public Const SE_MAX_PROP_NAME_LEN As Long = 32      '/* MAXIMUM PROPERTY NAME LENGTH */
Public Const SE_MAX_PROP_VAL_LEN As Long = 512      '/* MAXIMUM PROPERTY VALUE LENGTH */
Public Const SE_MAX_DESCRIPTION_LEN As Long = 64
Public Const SE_MAX_FEAT_CLASS_LEN As Long = 128
Public Const SE_MAX_COLUMN_LEN As Long = 32
Public Const SE_MAX_TABLE_LEN As Long = 160
Public Const SE_MAX_SCHEMA_TABLE_LEN As Long = 30
Public Const SE_MAX_ALIAS_LEN As Long = 32
Public Const SE_MAX_ENTITY_LEN  As Long = 256
Public Const SE_MAX_HINT_LEN As Long = 1024
Public Const SE_MAX_OWNER_LEN As Long = 32
Public Const SE_MAX_INDEX_LEN As Long = 160
Public Const SE_MAX_GROUP_LEN As Long = 26          '/* MAXIMUM GROUP NAME LENGTH */
Public Const SE_MAX_COLUMNS As Long = 256
Public Const SE_MAX_ANNO_TEXT_LEN As Long = 255
Public Const SE_MAX_VERSION_LEN  As Long = 64
Public Const SE_MAX_OSNAME_LEN As Long = 64         '/* MAXIMUM OPERATING SYSTEM NAME LENGTH */
Public Const SE_MAX_OSVERSION_LEN As Long = 128      '/* MAXIMUM OPERATING SYSTEM VERSION LENGTH */
Public Const SE_MAX_DBMSVERSION_LEN As Long = 128    '/* MAXIMUM DATABASE VERSION LENGTH */
Public Const SE_MAX_VERSION_INPUT_LEN As Long = 62  ' changed from 32 for 8.x
Public Const SE_MAX_OBJECT_NAME_LEN As Long = 160
Public Const SE_MAX_METADATA_CLASS_LEN As Long = 32
Public Const SE_MAX_METADATA_PROPERTY_LEN As Long = 32
Public Const SE_MAX_METADATA_VALUE_LEN As Long = 255
Public Const SE_MAX_LOCATOR_PROPERTY_LEN As Long = 32
Public Const SE_MAX_LOCATOR_VALUE_LEN As Long = 255
Public Const SE_MAX_SERVER_LEN As Long = 32
Public Const SE_MAX_INSTANCE_LEN As Long = 32
Public Const SE_MAX_PASSWORD_LEN As Long = 32
Public Const SE_MAX_DATABASE_LEN As Long = 32
Public Const SE_MAX_SCL_CODESIZE As Long = 256
Public Const SE_MAX_FUNCTION_LEN As Long = 32
Public Const SE_MAX_KEYWORD_LEN As Long = 32
Public Const SE_MAX_LOGFILE_NAME_LEN As Long = 64
Public Const SE_UUID_STRING_LEN As Long = 40        '/* UUID STRING LENGTH + 1 Nil byte + 3 bytes for alignment. */
Public Const SE_MAX_XML_INDEX_NAME_LEN As Long = 32 '/* MAXIMUM XML INDEX NAME LENGTH */
Public Const SE_MAX_XML_TAG_NAME_LEN As Long = 256  '/* MAXIMUM XML TAG NAME STRING LENGTH */
Public Const SE_MAX_SID_COLUMN_LEN As Long = 38     '/* MAXIMUM LENGTH OF STATE_ID COLUMN */
Public Const SE_MAX_LIN_COLUMN_LEN As Long = 38     '/* MAXIMUM LENGTH OF LINEAGE_NAME COLUMN */
Public Const SE_MAX_TRANSFORM_NAME_LEN As Long = 256  '/* MAXIMUM LENGTH OF A TRANSFORM NAME */
' constants for fully qualified table and column names
Public Const SE_QUALIFIED_TABLE_NAME As Long = SE_MAX_DATABASE_LEN + SE_MAX_OWNER_LEN + SE_MAX_TABLE_LEN + 2
Public Const SE_QUALIFIED_COLUMN_LEN As Long = SE_QUALIFIED_TABLE_NAME + SE_MAX_COLUMN_LEN + 1
Public Const SE_QUALIFIED_VERSION_LEN As Long = SE_MAX_OWNER_LEN + SE_MAX_VERSION_LEN + 1
Public Const SE_QUALIFIED_LOGFILE_NAME As Long = SE_MAX_DATABASE_LEN + SE_MAX_OWNER_LEN + SE_MAX_LOGFILE_NAME_LEN + 2
Public Const SE_QUALIFIED_OBJECT_NAME As Long = SE_MAX_DATABASE_LEN + SE_MAX_OWNER_LEN + SE_MAX_OBJECT_NAME_LEN + 2
Public Const SE_QUALIFIED_XML_INDEX_LEN As Long = SE_MAX_XML_INDEX_NAME_LEN + SE_MAX_OWNER_LEN + 1

'/************************************************************
'*** Minimum gridsize for Layer
'************************************************************/
Public Const SE_MIN_GRIDSIZE As Long = 256      '/* MINIMUM LAYER GRIDSIZE (system units) */

'/************************************************************
'*** ATTRIBUTE INDICATOR VALUES
'************************************************************/
Public Const SE_IS_NULL_VALUE As Long = 1
Public Const SE_IS_NOT_NULL_VALUE As Long = 2

'/************************************************************
'*** LOG FILE DEFINES
'************************************************************/
Public Const SE_INPUT_MODE As Long = 0
Public Const SE_OUTPUT_MODE As Long = 1
Public Const SE_EXTEND_MODE As Long = 2
Public Const SE_OUTPUT_NO_DELETE_MODE As Long = 3

Public Const SE_LOG_PERSISTENT  As Long = 1
Public Const SE_LOG_TEMPORARY As Long = 2

Public Const SE_LOG_FOR_TABLE As Long = 1
Public Const SE_LOG_FOR_LAYER As Long = 2

Public Const SE_LOG_INTERSECT As Long = 1
Public Const SE_LOG_UNION As Long = 2
Public Const SE_LOG_DIFFERENCE As Long = 3
Public Const SE_LOG_SYMDIFF As Long = 4

Public Const SE_LOGFILE_DELETE_MODE_DEFER As Long = 0
Public Const SE_LOGFILE_DELETE_MODE_IMMEDIATE As Long = 1

'/************************************************************
'*** SPATIAL REFERENCE DEFINES
'************************************************************/
Public Const SE_MAX_SPATIALREF_AUTHNAME_LEN As Long = 256
Public Const SE_MAX_SPATIALREF_SRTEXT_LEN As Long = 2048

'/************************************************************
'*** ALLOWABLE SPATIAL INDEX TYPE DEFINES FOR LAYERS
'*** NOTE: THEIR AVAILABILITY IS DBMS DEPENDENT.
'************************************************************/
Public Const SE_SPATIALINDEX_MULTI_GRID As Long = 1
Public Const SE_SPATIALINDEX_DBTUNE As Long = 0
Public Const SE_SPATIALINDEX_NONE As Long = -1
Public Const SE_SPATIALINDEX_RTREE As Long = -2
Public Const SE_SPATIALINDEX_FIXED_QUADTREE As Long = -3
Public Const SE_SPATIALINDEX_HYBRID_QUADTREE As Long = -4
Public Const SE_SPATIALINDEX_UNKNOWN As Long = -5

'/************************************************************
'*** SEARCH ORDERS
'************************************************************/
Public Const SE_ATTRIBUTE_FIRST As Integer = 1      ' /* DO NOT USE SPATIAL INDEX */
Public Const SE_SPATIAL_FIRST As Integer = 2         '/* USE SPATIAL INDEX */
Public Const SE_OPTIMIZE As Integer = 3           '  /* LET SDE DECIDE */

'/************************************************************
'*** QUERY TYPES
'************************************************************/
Public Const SE_QUERYTYPE_ATTRIBUTE_FIRST As Integer = 1
Public Const SE_QUERYTYPE_JFA As Integer = 2
Public Const SE_QUERYTYPE_JSF As Integer = 3
Public Const SE_QUERYTYPE_JSFA As Integer = 4
Public Const SE_QUERYTYPE_V3 As Integer = 5
Public Const SE_MAX_QUERYTYPE As Integer = 5

'/************************************************************
'*** CONSTANTS FOR SE_PTABLE_SNAP routine
'************************************************************/
Public Const SE_SNAP2D As Long = 0
Public Const SE_SNAP3D As Long = 1

'/************************************************************
'*** INDIVIDUAL BIT-MASKS FOR STATISTICS OPERATIONS
'************************************************************/
Public Const SE_MIN_STATS As Long = 1       '0x0001
Public Const SE_AVERAGE_STATS As Long = 2   '0x0002
Public Const SE_MAX_STATS As Long = 4       '0x0004
Public Const SE_STD_DEV_STATS As Long = 8   '0x0008
Public Const SE_COUNT_STATS As Long = 16    '0x0010
Public Const SE_DISTINCT_STATS As Long = 32 '0x0020
Public Const SE_BASIC_STATS As Long = SE_MIN_STATS Or SE_AVERAGE_STATS Or SE_MAX_STATS Or SE_STD_DEV_STATS Or SE_COUNT_STATS
Public Const SE_ALL_STATS As Long = SE_BASIC_STATS Or SE_DISTINCT_STATS

'/************************************************************
'*** CONCURRENCY POLICIES
'************************************************************/
Public Const SE_UNPROTECTED_POLICY As Long = 0
Public Const SE_ONE_THREAD_POLICY As Long = 1
Public Const SE_TRYLOCK_POLICY As Long = 2
Public Const SE_LOCK_POLICY As Long = 3

'/********************************************************************
'*** SPATIAL FILTER TYPES FOR SPATIAL CONSTRAINTS AND STABLE SEARCHES
'*********************************************************************/
Public Const SE_SHAPE_FILTER As Long = 1
Public Const SE_ID_FILTER As Long = 2

'/************************************************************
'*** STABLE OPTIONS
'************************************************************/
Public Const SE_DELETE_CURRENT As Long = 0

'/**************************
'*  Binary Conversion Enum *
'**************************/
Public Const SE_BINARY_CONVERSION_TO_LOB As Long = 1
Public Const SE_BINARY_CONVERSION_TO_LONGRAW As Long = 2

'/*******************************/
'/***  Shape attribute names  ***/
'/*******************************/
Public Const SE_SHAPE_ATTRIBUTE_NUMOFPTS As Long = 0
Public Const SE_SHAPE_ATTRIBUTE_ENTITY As Long = 1
Public Const SE_SHAPE_ATTRIBUTE_XMIN As Long = 2
Public Const SE_SHAPE_ATTRIBUTE_XMAX As Long = 3
Public Const SE_SHAPE_ATTRIBUTE_YMIN As Long = 4
Public Const SE_SHAPE_ATTRIBUTE_YMAX As Long = 5
Public Const SE_SHAPE_ATTRIBUTE_ZMIN As Long = 6
Public Const SE_SHAPE_ATTRIBUTE_ZMAX As Long = 7
Public Const SE_SHAPE_ATTRIBUTE_MMIN As Long = 8
Public Const SE_SHAPE_ATTRIBUTE_MMAX As Long = 9
Public Const SE_SHAPE_ATTRIBUTE_AREA As Long = 10
Public Const SE_SHAPE_ATTRIBUTE_LENGTH As Long = 11
Public Const SE_SHAPE_ATTRIBUTE_TEXT As Long = 12
Public Const SE_SHAPE_ATTRIBUTE_FID As Long = 13

'/**********************************/
'/*****   DBMS IDENTIFIERS *********/
'/**********************************/
Public Const SE_DBMS_IS_UNKNOWN As Long = -1
Public Const SE_DBMS_IS_OTHER As Long = 0
Public Const SE_DBMS_IS_ORACLE As Long = 1
Public Const SE_DBMS_IS_INFORMIX As Long = 2
Public Const SE_DBMS_IS_SYBASE As Long = 3
Public Const SE_DBMS_IS_DB2 As Long = 4
Public Const SE_DBMS_IS_SQLSERVER As Long = 5
Public Const SE_DBMS_IS_ARCINFO As Long = 6
Public Const SE_DBMS_IS_IUS As Long = 7
Public Const SE_DBMS_IS_DB2_EXT As Long = 8
Public Const SE_DBMS_IS_ARCSERVER As Long = 9
Public Const SE_DBMS_IS_JET As Long = 10

'/******************************/
'/***  DBMS Properties  ***/
'/******************************/
Public Const SE_DBMS_CAN_RENAME As Long = 1 '(1<<0)
Public Const SE_DBMS_CAN_ADD_COL As Long = 2 '(1<<1)
Public Const SE_DBMS_CAN_DROP_COL As Long = 4 '(1<<2)
Public Const SE_DBMS_OWNER_PREFIXES_TABLE As Long = 8 '(1<<3)
Public Const SE_DBMS_IS_CASE_SENSITIVE As Long = 16 '(1<<4)
Public Const SE_DBMS_SUPPORT_DELIMITED_IDENTIFIER As Long = 32 '(1<<5)
Public Const SE_DBMS_IS_CASE_SENSITIVE_IN_COMPARISON As Long = 64 '(1<<6)
Public Const SE_DBMS_IS_USER_CASE_SENSITIVE As Long = 128 '(1<<7)
Public Const SE_DBMS_IS_PASSWORD_CASE_SENSITIVE As Long = 256 '(1<<8)
Public Const SE_DBMS_UNICODE_IN_ALL_CHAR As Long = 512 '(1<<9)
Public Const SE_DBMS_UNICODE_IN_STRING_TYPE As Long = 1024 '(1<<10)
Public Const SE_DBMS_UNICODE_IN_CLOB_TYPE As Long = 2048 '(1<<11)
Public Const SE_DBMS_UNICODE_IN_OBJECT_NAMES As Long = 4096 '(1<<12)
Public Const SE_DBMS_CODEPAGE_IS_UTF8 As Long = 8192 '(1<<13)
Public Const SE_DBMS_CODEPAGE_IS_UTF16 As Long = 16384 '(1<<14)
Public Const SE_DBMS_CODEPAGE_IS_UCS2 As Long = 32768 '(1<<15)
Public Const SE_DBMS_CHAR_TYPES_STORE_UTF8 As Long = 65536 '(1<<16)
Public Const SE_DBMS_CHAR_TYPES_STORE_UTF16 As Long = 131072 '(1<<17)
Public Const SE_DBMS_CHAR_TYPES_STORE_UCS2 As Long = 262144 '(1<<18)
Public Const SE_DBMS_NCHAR_TYPES_STORE_UTF8 As Long = 524288 '(1<<19)
Public Const SE_DBMS_NCHAR_TYPES_STORE_UTF16 As Long = 1048576 '(1<<20)
Public Const SE_DBMS_NCHAR_TYPES_STORE_UCS2 As Long = 2097152 '(1<<21)
Public Const SE_DBMS_CODEPAGE_IS_UNICODE As Long = SE_DBMS_CODEPAGE_IS_UTF8 Or SE_DBMS_CODEPAGE_IS_UTF16 Or SE_DBMS_CODEPAGE_IS_UCS2

'/******* Lock type values for SE_TABLE_LOCK *******/
'/*****************************************************/
Public Const SE_TABLE_SHARED_SCHEMA_LOCK As Long = 1
Public Const SE_TABLE_EXCLUSIVE_SCHEMA_LOCK As Long = 2

'/****************************************************************************/
'/***  INSTANCE MODES -- Returned in system_mode field of SE_INSTANCE_STATUS */
'/****************************************************************************/
Public Const SE_INSTANCE_ACCEPTING As Long = 1
Public Const SE_INSTANCE_BLOCKING As Long = 2

'/*****************************************************/
'/******* Lock type values for SE_INSTANCE_LOCK *******/
'/*****************************************************/
Public Const SE_INSTANCE_LAYER_READ_LOCK As Long = 0
Public Const SE_INSTANCE_LAYER_WRITE_LOCK As Long = 1
Public Const SE_INSTANCE_AREA_READ_LOCK As Long = 2
Public Const SE_INSTANCE_AREA_WRITE_LOCK As Long = 3
Public Const SE_INSTANCE_AUTO_LOCK As Long = 4

'/************************************/
'/***  SE_instance_control() options */
'/************************************/
Public Const SE_CONTROL_INSTANCE_SHUTDOWN As Long = 1
Public Const SE_CONTROL_INSTANCE_PAUSE As Long = 2
Public Const SE_CONTROL_INSTANCE_RESUME As Long = 3
Public Const SE_CONTROL_INSTANCE_KILL As Long = 4
Public Const SE_CONTROL_INSTANCE_KILL_ALL As Long = 5
Public Const SE_CONTROL_INSTANCE_START As Long = 6

'/****************************************/
'/***  SE_ANNO text justification values */
'/****************************************/
Public Const SE_ANNO_UPPER_LEFT As Long = 1
Public Const SE_ANNO_UPPER_CENTER As Long = 2
Public Const SE_ANNO_UPPER_RIGHT As Long = 3
Public Const SE_ANNO_CENTER_LEFT As Long = 4
Public Const SE_ANNO_CENTER_CENTER As Long = 5
Public Const SE_ANNO_CENTER_RIGHT As Long = 6
Public Const SE_ANNO_LOWER_LEFT As Long = 7
Public Const SE_ANNO_LOWER_CENTER As Long = 8
Public Const SE_ANNO_LOWER_RIGHT As Long = 9

'/************************************/
'/***  Registered Table Row ID Types */
'/************************************/
Public Const SE_REGISTRATION_ROW_ID_COLUMN_TYPE_SDE As Long = 1
Public Const SE_REGISTRATION_ROW_ID_COLUMN_TYPE_USER As Long = 2
Public Const SE_REGISTRATION_ROW_ID_COLUMN_TYPE_NONE As Long = 3

'/*********************************************************/
'/***  SDE-maintained rowid columns allocation methods  ***/
'/*********************************************************/
Public Const SE_REGISTRATION_ROW_ID_ALLOCATION_SINGLE As Long = 1
Public Const SE_REGISTRATION_ROW_ID_ALLOCATION_MANY As Long = 2

'/************************************/
'/***   Metadata Object Types      ***/
'/************************************/
Public Const SE_METADATA_OBJECT_TYPE_TABLE As Long = 1
Public Const SE_METADATA_OBJECT_TYPE_LOCATOR As Long = 2
Public Const SE_METADATA_OBJECT_TYPE_XML_COLUMN As Long = 3

'/************************************/
'/***   Locator Status             ***/
'/************************************/
Public Const SE_LOCATOR_TEMPLATE As Long = 0
Public Const SE_LOCATOR_VALIDATED As Long = 1
Public Const SE_LOCATOR_DEFINED As Long = 2     ' deprecated
Public Const SE_LOCATOR_ATTACHED As Long = 2

'/*********************************************/
'/***   External FileInfo Object Types      ***/
'/*********************************************/
Public Const SE_FILEINFO_OBJECT_TYPE_EXPORT_FMT As Long = 1
Public Const SE_FILEINFO_OBJECT_TYPE_SHAPEFILE As Long = 2
Public Const SE_FILEINFO_OBJECT_TYPE_COVERAGE As Long = 3

'/********************************/
'/***  Version Reserved Names  ***/
'/********************************/
Public Const SE_DEFAULT_VERSION_NAME As String = "DEFAULT"
Public Const SE_QUALIFIED_DEFAULT_VERSION_NAME As String = "sde." & SE_DEFAULT_VERSION_NAME

'/******************************/
'/***  Version Access Types  ***/
'/******************************/
Public Const SE_VERSION_ACCESS_PUBLIC As Long = 0
Public Const SE_VERSION_ACCESS_PROTECTED As Long = 1
Public Const SE_VERSION_ACCESS_PRIVATE As Long = 2

'/****************************/
'/***  State Reserved Ids  ***/
'/****************************/
Public Const SE_BASE_STATE_ID As Long = 0
Public Const SE_NULL_STATE_ID As Long = -1
Public Const SE_DEFAULT_STATE_ID As Long = -2

'/*************************************/
'/***  State Conflict Filter Types  ***/
'/*************************************/
Public Const SE_STATE_DIFF_NOCHECK As Long = 0
Public Const SE_STATE_DIFF_NOCHANGE_UPDATE As Long = 1
Public Const SE_STATE_DIFF_NOCHANGE_DELETE As Long = 2
Public Const SE_STATE_DIFF_UPDATE_NOCHANGE As Long = 3
Public Const SE_STATE_DIFF_UPDATE_UPDATE As Long = 4
Public Const SE_STATE_DIFF_UPDATE_DELETE As Long = 5
Public Const SE_STATE_DIFF_INSERT  As Long = 6
Public Const SE_STATE_DIFF_RESTORE As Long = 7
Public Const SE_STATE_DIFF_INSERT_RESTORE As Long = 8
Public Const SE_STATE_DIFF_UPDATE As Long = 9
Public Const SE_STATE_DIFF_DELETE As Long = 10

'/*******************************************************/
'/***  State Lock Types (for SE_INSTANCE_STATE_LOCK)  ***/
'/*******************************************************/
Public Const SE_STATE_TREE_SHARED_LOCK As Long = 0
Public Const SE_STATE_TREE_EXCLUSIVE_LOCK As Long = 1
Public Const SE_STATE_SHARED_LOCK As Long = 2
Public Const SE_STATE_EXCLUSIVE_LOCK As Long = 3
Public Const SE_STATE_SHARED_AUTOLOCK As Long = 4
Public Const SE_STATE_EXCLUSIVE_AUTOLOCK As Long = 5

'/********************************/
'/***  Table Rowlocking Types  ***/
'/********************************/
Public Const SE_ROWLOCKING_LOCK_ON_QUERY As Long = 1 '(1)
Public Const SE_ROWLOCKING_LOCK_ON_INSERT As Long = 2 '(1<<1)
Public Const SE_ROWLOCKING_LOCK_ON_UPDATE As Long = 4 '(1<<2)
Public Const SE_ROWLOCKING_UNLOCK_ON_QUERY As Long = 8 '(1<<3)
Public Const SE_ROWLOCKING_UNLOCK_ON_UPDATE As Long = 16 '(1<<4)
Public Const SE_ROWLOCKING_FILTER_MY_LOCKS As Long = 32 '(1<<5)
Public Const SE_ROWLOCKING_FILTER_OTHER_LOCKS As Long = 64 '(1<<6)
Public Const SE_ROWLOCKING_FILTER_UNLOCKED As Long = 128 '(1<<7)
Public Const SE_ROWLOCKING_LOCK_ONLY As Long = 256 '(1<<8)

'/****************************/
'/***  Object Lock Types   ***/
'/****************************/
Public Const SE_OBJECTLOCK_NO_LOCK_SET As Long = 99
Public Const SE_OBJECTLOCK_SHARED_LOCK As Long = 0
Public Const SE_OBJECTLOCK_EXCLUSIVE_LOCK As Long = 1
Public Const SE_OBJECTLOCK_EXCLUSIVE_AUTOLOCK As Long = 2

'/*****************************/
'/***  Version Lock Types   ***/
'/*****************************/
Public Const SE_VERSION_SHARED_LOCK As Long = 0
Public Const SE_VERSION_EXCLUSIVE_LOCK As Long = 1
Public Const SE_VERSION_EXCLUSIVE_AUTOLOCK As Long = 2

'/******************************/
'/***  Trace Mode Types      ***/
'/******************************/
Public Const SE_TRACE_API_BRIEF As Long = 1 '(1<<0)
Public Const SE_TRACE_API_VERBOSE As Long = 2 '(1<<1)
Public Const SE_TRACE_TIME_MINSEC As Long = 4 '(1<<2)
Public Const SE_TRACE_TIME_HRMINSEC As Long = 8 '(1<<3)
Public Const SE_TRACE_FLUSH As Long = 16 '(1<<4)
Public Const SE_TRACE_CLIENT_SIDE As Long = 32 '(1<<5)
Public Const SE_TRACE_SRVR_SIDE As Long = 64 '(1<<6)

'/******************************/
'/***  XML TAG DATA TYPES    ***/
'/******************************/
Public Const SE_XML_INDEX_STRING_TYPE As Long = 1 '/* text XML index type. */
Public Const SE_XML_INDEX_DOUBLE_TYPE As Long = 2 '/* numeric XML index type. */

'/******************************/
'/***  XML INDEX TYPES       ***/
'/******************************/
Public Const SE_XML_INDEX_TEMPLATE As Long = 1
Public Const SE_XML_INDEX_DEFINITION As Long = 2
Public Const SE_XML_INDEX_AUTO As Long = 3
Public Const SE_XML_INDEX_AUTO_STRING As Long = 4

'/***************************************/
'/***  XML DOC PROPERTIES FOR QUERIES ***/
'/***************************************/
Public Const SE_DOC_HAS_TAG_CONFLICTS As Long = 1

'/*********************************/
'/***  Raster Interleave Types  ***/
'/*********************************/
Public Const SE_RASTER_INTERLEAVE_BIP As Long = 0
Public Const SE_RASTER_INTERLEAVE_BIL As Long = 1
Public Const SE_RASTER_INTERLEAVE_BSQ As Long = 2

'/*********************************/
'/***   Interpolation Methods   ***/
'/*********************************/
Public Const SE_INTERPOLATION_NONE As Long = 0      ' /* no interpolation */
Public Const SE_INTERPOLATION_NEAREST As Long = 1   ' /* nearest-neighbor interpolation */
Public Const SE_INTERPOLATION_BILINEAR As Long = 2  ' /* bilinear interpolation */
Public Const SE_INTERPOLATION_BICUBIC As Long = 3   ' /* bicubic interpolation */

'/********************************/
'/*** Raster Callback Function ***/
'/********************************/
'typedef LONG (* SE_RASTER_PROC) (
'    void              *user_data,
'    void              **pixels,
'    LONG              *pixels_length,
'    void              **bitmask,
'    LONG              *bitmask_length
');
'Public Type SE_RASTER_PROC
'    user_data As Long
'    pixels_pointer As Long
'    pixels_length As Long
'    bitmask_pointer As Long
'    bitmask_length As Long
'End Type

'/********************************/
'/***    Bin Function Types    ***/
'/********************************/
Public Const SE_BIN_FUNCTION_NONE As Long = 0
Public Const SE_BIN_FUNCTION_AUTO As Long = 1
Public Const SE_BIN_FUNCTION_DIRECT As Long = 2
Public Const SE_BIN_FUNCTION_LINEAR As Long = 3
Public Const SE_BIN_FUNCTION_LOGARITHM As Long = 4
Public Const SE_BIN_FUNCTION_EXPLICIT As Long = 5

'/********************************/
'/***  Raster Colormap Types   ***/
'/********************************/
Public Const SE_COLORMAP_NONE As Long = 0
Public Const SE_COLORMAP_RGB As Long = 1
Public Const SE_COLORMAP_RGBA As Long = 2

'/********************************/
'/***  Colormap's Data Types   ***/
'/********************************/
Public Const SE_COLORMAP_DATA_BYTE As Long = 0
Public Const SE_COLORMAP_DATA_SHORT As Long = 1

'/********************************/
'/***    Raster Mosaic Mode    ***/
'/********************************/
Public Const SE_MOSAIC_MODE_NONE As Long = 0
Public Const SE_MOSAIC_MODE_MERGE As Long = 1
Public Const SE_MOSAIC_MODE_DELETE As Long = 2

'/***************************************************************************/
'/***  function_id Constants(total 50 function constants). ***/
'/***************************************************************************/
'/* The string functions */
  
Public Const SE_DBMS_FUNCTION_UPPERCASE As Long = 0        ':Returns char in upper case */
Public Const SE_DBMS_FUNCTION_LOWERCASE = 1      ':Returns char in lower case */
Public Const SE_DBMS_FUNCTION_CONCAT = 2         ':Returns char1 concatenated with char2 */
Public Const SE_DBMS_FUNCTION_ASCII = 3          ':Returns decimal representation of char c */
Public Const SE_DBMS_FUNCTION_LENGTH = 4         ':Return length in CHAR */
Public Const SE_DBMS_FUNCTION_LENGTHB = 5        ':Returns length in bytes */
Public Const SE_DBMS_FUNCTION_CHR = 6            ':Returns the character of the binary equivalent */
Public Const SE_DBMS_FUNCTION_LTRIM = 7          ':remove spaces from the left */
Public Const SE_DBMS_FUNCTION_RTRIM = 8          ':remove trailing from the right */
Public Const SE_DBMS_FUNCTION_SUBSTR = 9         ':Returns a portion of char at M and N c long */
Public Const SE_DBMS_FUNCTION_SUBSTRB = 10        ':Returns a portion of byes at m and n bytes long */
Public Const SE_DBMS_FUNCTION_SOUNDEX = 11        ':Returns a char containing the phonetic representation of char2 */
Public Const SE_DBMS_FUNCTION_TRANSLATE = 12      ':Returns char with each char in from replaced by its corresponding char in to */
Public Const SE_DBMS_FUNCTION_TRIM = 13           ':strip the leading trailing * or both from the string */
Public Const SE_DBMS_FUNCTION_CEIL = 14           ':Returns smallest integer >= n */
Public Const SE_DBMS_FUNCTION_FLOOR = 15          ':Returns largest integer <= n */
Public Const SE_DBMS_FUNCTION_ROUND = 16          ':Returns n rounded to m place of n */
Public Const SE_DBMS_FUNCTION_LN = 17             ':Returns natural logarithm of n */
Public Const SE_DBMS_FUNCTION_LOG10 = 18          ':Returns logarithm of base 10 */
Public Const SE_DBMS_FUNCTION_LOG = 19            ':Returns logarithm of base n */
Public Const SE_DBMS_FUNCTION_MOD = 20            ':Returns the reminder of m divided by n */
Public Const SE_DBMS_FUNCTION_POWER = 21          ':Returns the n power of m */
Public Const SE_DBMS_FUNCTION_SIGN = 22           ':Returns -1 for negative and 0 for zero and 1 for positive */
Public Const SE_DBMS_FUNCTION_TRUNC = 23          ':Returns n truncted to m decimal place */
Public Const SE_DBMS_FUNCTION_SINH = 24           ':Returns hyperbolic sine of x */
Public Const SE_DBMS_FUNCTION_COSH = 25           ':Returns hyperbolic cosine of x */
Public Const SE_DBMS_FUNCTION_TANH = 26           ':Returns hyperbolic tangent of x */
Public Const SE_DBMS_FUNCTION_ASIN = 27           ':Returns the arcsine of x */
Public Const SE_DBMS_FUNCTION_ACOS = 28           ':Returns the arccosine of x */
Public Const SE_DBMS_FUNCTION_ATAN = 29           ':Returns the arctangent of x */
Public Const SE_DBMS_FUNCTION_HEX = 30            ':Returns the hexadecimal representation of a */
Public Const SE_DBMS_FUNCTION_SIN = 31            ':Returns sine of x */
Public Const SE_DBMS_FUNCTION_COS = 32            ':Returns cosine  of x */
Public Const SE_DBMS_FUNCTION_TAN = 33            ':Returns tangent of x */
Public Const SE_DBMS_FUNCTION_EXTRACT = 34        ':Returns a numeric value of a date */
Public Const SE_DBMS_FUNCTION_BITLEN = 35         ':Returns the string length in bits */
Public Const SE_DBMS_FUNCTION_POSITION = 36       ':Returns the a numeric value indicates the the starting position of the search string in the source string */
Public Const SE_DBMS_FUNCTION_ABS = 37            ':Returns the absolute value of x */
Public Const SE_DBMS_FUNCTION_VARIANCE = 38       ':Returns variance of x */
Public Const SE_DBMS_FUNCTION_STDDEV = 39         ':Returns the standard deviation */
Public Const SE_DBMS_FUNCTION_AVG = 40            ':Returns the average value of n */
Public Const SE_DBMS_FUNCTION_COUNT = 41          ':Returns the number of rows in the query */
Public Const SE_DBMS_FUNCTION_MAX = 42            ':Returns the maximum value of expression */
Public Const SE_DBMS_FUNCTION_MIN = 43            ':Returns the minimum value of expression */
Public Const SE_DBMS_FUNCTION_SUM = 44            ':Returns the sum of values of n */
Public Const SE_DBMS_FUNCTION_COALSCE = 45        ':Returns the first NOT_NULL value */
Public Const SE_DBMS_FUNCTION_CONVERT = 46        ':The convert function  */
Public Const SE_DBMS_FUNCTION_CAST = 47           ':Converts one data type to another one */
Public Const SE_DBMS_FUNCTION_USER = 48            ':Returns the current user name */
'/* SQL special characters for DBMSs */
Public Const SE_SQL_WILDCARD_MANYMATCH_CHAR = 49  ', /* always start from the total number of function constants */
Public Const SE_SQL_WILDCARD_SINGLEMATCH_CHAR = 50
Public Const SE_SQL_DELIMITED_CHAR_PREFIX = 51
Public Const SE_SQL_DELIMITED_CHAR_SUFFIX = 52
Public Const SE_SQL_DEFAULT_ESCAPE_CHAR_PREFIX = 53
Public Const SE_SQL_DEFAULT_ESCAPE_CHAR_SUFFIX = 54
Public Const SE_SQL_ESCAPE_CLAUSE_PREFIX = 55
Public Const SE_SQL_ESCAPE_CLAUSE_SUFFIX = 56

'/***************************************************************************/
'/***  annotation alignment constants                                     ***/
'/***************************************************************************/
Public Const SE_ANNO_ALIGN_DEFAULT As Long = 0
Public Const SE_ANNO_ALIGN_LEFT As Long = 1
Public Const SE_ANNO_ALIGN_RIGHT As Long = 2
Public Const SE_ANNO_ALIGN_CENTER As Long = 3
Public Const SE_ANNO_ALIGN_AUTOMATIC As Long = 4

'/*****************************
'*  Error log mode types      *
'******************************/
Public Const SE_ERRLOG_NONE As Long = 0
Public Const SE_ERRLOG_TIME As Long = 1
Public Const SE_ERRLOG_SDEID As Long = 2 '   (1<<1)
Public Const SE_ERRLOG_CLIENT As Long = 4 '  (1<<2)

'/***************************************************************************/
'/***  Shape Data Types (Re)Definitions (see sg.h for full definition)    ***/
'/***************************************************************************/
Public Type SE_POINT        'SgSimpleShapePoint
    x As Double
    y As Double
End Type

Public Type SE_SDEPOINT     'SgShapePoint
    x As Double
    y As Double
    z As Double
    m As Double
End Type

Public Type SE_ENVELOPE     'SgShapeEnvelope
    xMin As Double
    yMin As Double
    xMax As Double
    yMax As Double
End Type

Public Type SE_ZMEXTENT
    minz As Double
    minm As Double
    maxz As Double
    maxm As Double
End Type

'/**************************/
'/***  Shape Build Modes ***/
'/**************************/
Public Const SE_Build_Polygons_From_All_Rings As Long = 0
Public Const SE_Build_Polygons_From_Clockwise_Rings As Long = 3
Public Const SE_Build_Polygons_From_CounterClockwise_Rings As Long = 2
Public Const SE_Build_SimpleLines As Long = 4

'/****************************/
'/*** Shape Rotation Modes ***/
'/****************************/
' NOTE: enum values not specfied in sdetype.h, so
' values start with 0 (ansi C)
Public Const SE_DEFAULT_ROTATION As Long = 0
Public Const SE_LEFT_HAND_ROTATION As Long = 1
Public Const SE_RIGHT_HAND_ROTATION As Long = 2

'/*******************************/
'/***  Transformation Types   ***/
'/*******************************/
Public Const SE_TRANSFORM_UNKNOWN As Long = 0
Public Const SE_TRANSFORM_PLANER As Long = 1
Public Const SE_TRANSFORM_PROJECTIVE As Long = 2
Public Const SE_TRANSFORM_POLYNOMIAL As Long = 3
Public Const SE_TRANSFORM_CUSTOM As Long = 4

Public Const SE_POLYNOMIAL_1ST_ORDER As Long = 0
Public Const SE_POLYNOMIAL_2ND_ORDER As Long = 1
Public Const SE_POLYNOMIAL_3RD_ORDER As Long = 2

'/************************************************************
'*** SDE BLOB ATTRIBUTE STRUCTURE "SE_BLOB_INFO"
'************************************************************/
Public Type SE_BLOB_INFO
    BlobLength As Long      ';            /* LENGTH IN BYTES OF BLOB */
    lpBlob As Long          ';           /* LINEAR BUFFER OF BLOB DATA */
End Type

Public Type SE_CLOB_INFO
    ClobLength As Long      ';            /* LENGTH IN BYTES OF CLOB */
    lpClob As Long          ';           /* LINEAR BUFFER OF CLOB DATA */
End Type

Public Type SE_NCLOB_INFO
    NClobLength As Long      ';            /* LENGTH IN BYTES OF NCLOB */
    lpNClob As Long          ';           /* LINEAR BUFFER OF NCLOB DATA */
End Type

' NOTE: the decimal_digits and row_id_type parameters need to be defined as
' longs for the stucture to map correctly, always
' need to look at only the low word portion of those two longs when
' extracting the data from this structure - AJR
' This structure should be 52 bytes long
Public Type SE_COLUMN_DEF
    column_name(1 To SE_MAX_COLUMN_LEN) As Byte  ' /* the column name */
    sde_type As Long                                ' /* the SDE data type */
    Size As Long                                    ' /* the size of the column values */
    decimal_digits As Integer                          ' /* number of digits after decimal */
    bogus_byte_alignment_do_not_use As Integer
    nulls_allowed As Long                           ' /* allow NULL values ? */
    row_id_type As Integer                             ' /* column's use as table's row id */
    bogus_byte_alignment2_do_not_use As Integer
End Type

'/************************************************************
'*** SDE SSA INPUT DEFINITION STRUCTURE "SE_INPUT_DESC"
'************************************************************/
Public Type SE_INPUT_DESC
    sde_type As Long    '                       /* the SDE data type */
    input_size As Long  '                       /* the size of the input values */
End Type

'/************************************************************
'*** SDE SQL CONSTRUCTOR
'************************************************************/
Public Type SE_SQL_CONSTRUCT
    num_tables As Long          ' /* number of tables */
    table_names() As Long              ' /* table names */
    where_clause As Long               ' /* where clause */
End Type

'/************************************************************
'*** SDE INDEX DESCRIPTION STRUCTURE "SE_INDEX_DEF"
' should be 48 bytes long
'************************************************************/
Public Type SE_INDEX_DEF
    num_columns As Integer                    '/* number of columns */
    bogus_byte_alignment_do_not_use As Integer
    column_names As Long                  '/* the column name pointer array*/
    index_name(1 To SE_MAX_COLUMN_LEN) As Byte  '/* the index name */
    unique As Long                         '/* unique index */
    ascending As Long                      '/* ascending order pointer */
End Type

'/************************************************************
'*** SDE RELEASE/VERSION STRUCTURE
'************************************************************/
Public Type SE_RELEASE
    major As Long
    minor As Long
    Bug As Long
    desc As String * 96
    Release As Long
    ' new with 9.0 api
    rel_low_supported As Long   ' /* Lowest Release supported */
End Type

'/************************************************************
'*** SDE SPATIAL FILTER STRUCTURE
'************************************************************/
' NOTE: this filter only handles shape queries, not table/id queries
Public Type SE_FILTER
    table(1 To SE_QUALIFIED_TABLE_NAME) As Byte   ' /* The spatial table name */
    column(1 To SE_MAX_COLUMN_LEN) As Byte        ' /* The spatial column name */
    filter_type As Long                           ' /* The type of spatial filter */
    shape As Long                                 ' /* A shape object */
    dummy(1 To SE_QUALIFIED_TABLE_NAME) As Byte   ' /* The shape抯 spatial table */
    method As Long                                ' /* The search method to satisfy */
    truth As Long                                 ' /* TRUE to pass method, FALSE if it must NOT pass */
    cbm_source As Long                            ' /* Set only if the method is SM_CBM */
    cbm_object_code As Long                       ' /* Internal system use only */
End Type

'/************************************************************
'*** SDE STREAM SPECIFICATION
'************************************************************/
Public Type SE_STREAM_SPEC
    min_size As Long            '/* minimum size of buffer */
    max_size As Long            '/* total size of buffer */
    min_objects As Long         '/* minimum number of objects to put in buffer */
    max_array_size As Long      '/* maximum number of elements per array */
    attribute_bytes As Long     '/* attribute array buffer size */
    shape_point_bytes As Long   '/* shape geometry array buffer size */
    blob_bytes As Long          '/* obsolete as of ArcSDE 8.0.2 */
    max_bytes_per_blob As Long  '/* obsolete as of ArcSDE 8.0.2 */
    stream_pool_size As Long    '/* minimum # of streams to keep in the pool */
    raster_buf_size As Long     '/* raster buffer size */
End Type

'/************************************************************
'*** SDE ERROR STRUCTURE
'************************************************************/
Public Type SE_ERROR
  sde_error As Long
  Ext_Error As Long
  Err_Msg1 As String * SE_MAX_MESSAGE_LENGTH
  Err_Msg2 As String * SE_MAX_SQL_MESSAGE_LENGTH
End Type

'/************************************************************
'*** SE_layer_statistics STRUCTURES
'************************************************************/
Public Type SE_GRID_STATS
    features As Long                                ' /* Features indexed by this grid level */
    indexRecords As Long                            ' /* Index records in this grid level */
    groupCounts(1 To 8) As Long                     ' /* Index rec count by group: <=4, >4, >10, >25,>50, >100, >250, >500 */
    maxFPG As Long                                  ' /* Maximum number of features per grid cell */
    gridCells As Long                               ' /* # of grid cells in this level */
    featuresInside1 As Long                         ' /* # of features wholly inside one grid cell */
End Type

Public Type SE_SI_STATS
    table(1 To SE_QUALIFIED_TABLE_NAME) As Byte   ' /* The spatial table name */
    column(1 To SE_MAX_COLUMN_LEN) As Byte        ' /* The spatial column name */
    nGrids As Long                                ' /* # of spatial index grids */
    grids(1 To 3) As SE_GRID_STATS                ' /* Individual grid statistics */
End Type

Public Type SE_LAYER_STATS
    '/*** Layer statistics structure. ***/
    LayerId As Long '          /* Layer id. */
    Nils As Long '               /* # of Nil shapes in layer. */
    Points As Long '
    MultiPoints As Long '; /* # of Point and Multipoints in layer. */
    Lines As Long '
    MultiLines As Long ';   /* # of Lines & Multilines in layer. */
    SimpleLines As Long '
    MultiSimpleLines As Long '; /* # of Simple Lines & Simple Multilines. */
    Areas As Long '
    MultiAreas As Long ';   /* # of Area and Multiareas in layer. */
    TotalFeatures As Long ';      /* Total # of shapes in layer. */
    bogus_byte_alignment1_do_not_use As Integer
    Bounds As SE_ENVELOPE             '/* Layer extrema. */
    LastModified As Long ';       /* POSIX time_t date last modified.*/
    MinFid As Long '
    MaxFid As Long ';      /* Minimum and maximum IDs in layer. */
    MinPoints As Long '
    MaxPoints As Long ';/* Min/max # of pts in layer shapes. */
    bogus_byte_alignment2_do_not_use As Integer
    MinArea As Double '
    MaxArea As Double ';    /* Min and max area shape areas. */
    MinLength As Double '
    MaxLength As Double ';/* Min and max linear shape lengths. */
    AveragePoints As Double ';      /* Average number of points/shape. */
    AverageArea As Double ';        /* Average area/shape. */
    AverageLength As Double ';      /* Average length/shape. */
End Type

'/************************************************************
'*** SDE LAYER LOCKS STRUCTURES
'************************************************************/
Public Type SE_layer_lock
    username(1 To SE_MAX_OWNER_LEN + 4) As Byte
    lock_type As Long
    Bounds As SE_ENVELOPE
End Type

'/************************************************************
'*** SDE TABLE LOCKS STRUCTURES
'************************************************************/
Public Type SE_TABLE_LOCK
   username(1 To SE_MAX_OWNER_LEN + 4) As Byte
   lock_type As Long
End Type

'/************************************************************
'*** SDE VERSION LOCK STRUCTURES
'************************************************************/
Public Type SE_VERSION_LOCK
   username(1 To SE_MAX_OWNER_LEN + 4) As Byte
   lock_mode As Long
End Type

'/************************************************************
'*** SDE INSTANCE STRUCTURES
'************************************************************/
Public Type SE_INSTANCE_STATUS
  Version As SE_RELEASE     '/* Release version of specified instance.       */
  connections As Long       '/* Number of current connections to SDE on node.*/
  system_mode As Long       '/* Accepting connections or blocking.           */
End Type

Public Type SE_INSTANCE_USER
    svrpid As Long '                           /* Forked Server Task pid */
    cstime As Long '                           /* Connection Start time */
    xdr_needed As Long '                       /* Use XDR Boolean */
    sysname(1 To SE_MAX_OWNER_LEN + 1) As Byte '    /* Client Operating System  Name */
    nodename(1 To SE_MAX_OWNER_LEN + 1) As Byte '   /* Client Host Node Name */
    username(1 To SE_MAX_OWNER_LEN + 1) As Byte ' /* User Name */
End Type

'/* For future developments, please do not use the structure
'   SE_INSTANCE_CONFIG and API SE_instance_configuration() for
'   instance/server configuration info. They are provided only for
'   backward compatibility and will be deprecated for the post
'   9.0 releases. Instead, please use SE_SERVERINFO structure
'   and SE_instance_serverconfig_get_info() API respectively. */
Public Type SE_INSTANCE_CONFIG
    max_connections As Long
    max_locks As Long
    max_state_locks As Long
    max_table_locks As Long
    max_object_locks As Long
    child_timeout As Long
    min_net_block_size As Long
    max_net_block_size As Long
    min_net_obj_count As Long
    max_mem_dissolve As Long
    max_blob_size As Long
    max_mem_blob As Long
    auto_commit_freq As Long
    max_init_feats As Long
    max_distinct As Long
    max_streams As Long
    stream_pool_size As Long
    max_layers As Long
    max_registrations As Long
    max_rastercolumns As Long
    shape_point_buf_size As Long
    attribute_buf_size As Long
    blob_buf_size As Long
    raster_buf_size As Long
    max_array_size As Long
    max_array_bytes As Long
    max_time_diff As Long
    home_path(1 To SE_MAX_PATH_LEN) As Byte        '/* PATH TO SDE HOME DIR */
    log_path(1 To SE_MAX_PATH_LEN) As Byte         '/* PATH TO SDE LOG FILE DIR */
    tmp_path(1 To SE_MAX_PATH_LEN) As Byte         '/* PATH TO SDE TEMP FILE DIR */
    dbms_id As Long                           '/* Underlying DBMS ID. */
    dbms_properties As Long                   '/* DBMS properties. */
    client_count As Long                      '/* Connection count */
    state_caching As Long
    tcp_keepalive As Long
    instance_read_only As Long
    default_precision As Long
    state_autolocking As Long
End Type

Public Type SE_INSTANCE_STATS
    pid As Long
    rcount As Long '     /* TOT # READS BY PROCESS */
    wcount As Long '     /* TOT # WRITES BY PROCESS */
    opcount As Long '    /* TOT # F OPERATIONS BY PROCESS */
    numlocks As Long '   /* TOT # F LOCKS HELD BY THIS PID */
    fb_partial As Long ' /* TOT # F PARTIAL SHAPES SHIPPED BY THIS PROCESS */
    fb_count As Long '   /* TOT # F BUFFERS LOADED BY THIS PROCESS */
    fb_fcount As Long '  /* TOT # F SHAPES BUFFERED BY THIS PROCESS */
    fb_kbytes As Long '  /* TOT # F 1K BYTES BUFFERED DATA BY THIS PROCESS */
End Type

Public Type SE_INSTANCE_LOCK
    pid As Long
    layer_id As Integer
    lock_type As Long
End Type

Public Type SE_INSTANCE_STATE_LOCK
  pid As Long '       /* Gsrvr process id that holds this lock. */
  state_id As Long '  /* State being locked. */
  lock_type As Integer ' /* Shared, exclusive or table. */
End Type

Public Type SE_INSTANCE_TABLE_LOCK
  pid As Long '       /* Gsrvr process id that holds this lock. */
  registration_id As Long '  /* table being locked. */
  lock_type As Integer ' /* Shared, exclusive or table. */
End Type

Public Type SE_INSTANCE_VERSION_LOCK
  pid As Long '         /* Gsrvr process id that holds this lock. */
  version_id As Long '  /* Version being locked. */
  lock_mode As Integer '   /* Shared or exclusive. */
End Type

'/************************************************************
'*** Struct to receive shape comparison info.
'************************************************************/
Public Type SE_CBM_INFO
    primary_entity_type As Long
    secondary_entity_type As Long
    mask As Long
    sectdims(0 To 2, 0 To 2) As Long
End Type

'/************************************************************
'*** Struct to receive dbtune table error data.
'************************************************************/
Public Type SE_DBTUNE
  dbt_keyword(1 To SE_MAX_CONFIG_KEYWORD_LEN) As Byte
  parameter_name(1 To SE_MAX_CONFIG_KEYWORD_LEN) As Byte
  config_string(1 To SE_MAX_CONFIG_STR_LEN) As Byte
End Type

'/************************************************************
'*** Struct to receive server_config table error data.
'************************************************************/
Public Type SE_SVR_CONFIG_ERR
    prop_name(1 To SE_MAX_PROP_NAME_LEN) As Byte
    char_prop_value(1 To SE_MAX_PROP_VAL_LEN) As Byte
    num_prop_value As Long
End Type

 

posted @ 2008-06-23 17:58  明琎  阅读(574)  评论(0)    收藏  举报