# 6.12. ODPI-C Enumeration dpiNativeTypeNum

This enumeration identifies the type of data that is being transferred to and from the database. It is used in the structures dpiDataTypeInfo, dpiShardingKeyColumn and dpiJsonNode.

Value | Description
--- | ---
DPI_NATIVE_TYPE_BOOLEAN | Data is passed as a boolean value in `dpiDataBuffer.asBoolean`.
DPI_NATIVE_TYPE_BYTES | Data is passed as a byte string in `dpiDataBuffer.asBytes`.
DPI_NATIVE_TYPE_DOUBLE | Data is passed as a double precision floating point number in `dpiDataBuffer.asDouble`.
DPI_NATIVE_TYPE_FLOAT | Data is passed as a single precision floating point number in `dpiDataBuffer.asFloat`.
DPI_NATIVE_TYPE_INT64 | Data is passed as a 64-bit integer in `dpiDataBuffer.asInt64`.
DPI_NATIVE_TYPE_INTERVAL_DS | Data is passed as an interval (days to seconds) in `dpiDataBuffer.asIntervalDS`.
DPI_NATIVE_TYPE_INTERVAL_YM | Data is passed as an interval (years to months) in `dpiDataBuffer.asIntervalYM`.
DPI_NATIVE_TYPE_JSON | Data is passed as a JSON node in `dpiDataBuffer.asJsonNode`.
DPI_NATIVE_TYPE_JSON_ARRAY | Data is passed as a JSON array in `dpiDataBuffer.asJsonArray`.
DPI_NATIVE_TYPE_JSON_OBJECT | Data is passed as a JSON object in `dpiDataBuffer.asJsonObject`.
DPI_NATIVE_TYPE_LOB | Data is passed as a reference to a LOB in `dpiDataBuffer.asLOB`.
DPI_NATIVE_TYPE_NULL | No data is being passed. This is used to identify the JSON singleton null value.
DPI_NATIVE_TYPE_OBJECT | Data is passed as a reference to an object in `dpiDataBuffer.asObject`.
DPI_NATIVE_TYPE_ROWID | Data is passed as a reference to a rowid in `dpiDataBuffer.asRowid`.
DPI_NATIVE_TYPE_STMT | Data is passed as a reference to a statement in `dpiDataBuffer.asStmt`.
DPI_NATIVE_TYPE_TIMESTAMP | Data is passed as a timestamp in `dpiDataBuffer.asTimestamp`.
DPI_NATIVE_TYPE_UINT64 | Data is passed as an unsigned 64-bit integer in `dpiDataBuffer.asUint64`.
DPI_NATIVE_TYPE_VECTOR | Data is passed as a reference to a vector in `dpiDataBuffer.asVector`.