# {py:mod}`abr_sdk.cabi`

```{py:module} abr_sdk.cabi
```

```{autodoc2-docstring} abr_sdk.cabi
:allowtitles:
```

## Module Contents

### Classes

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`Status <abr_sdk.cabi.Status>`
  - ```{autodoc2-docstring} abr_sdk.cabi.Status
    :summary:
    ```
* - {py:obj}`LogLevel <abr_sdk.cabi.LogLevel>`
  - ```{autodoc2-docstring} abr_sdk.cabi.LogLevel
    :summary:
    ```
* - {py:obj}`VariantType <abr_sdk.cabi.VariantType>`
  - ```{autodoc2-docstring} abr_sdk.cabi.VariantType
    :summary:
    ```
* - {py:obj}`EventFlags <abr_sdk.cabi.EventFlags>`
  - ```{autodoc2-docstring} abr_sdk.cabi.EventFlags
    :summary:
    ```
* - {py:obj}`AsrTextChunkType <abr_sdk.cabi.AsrTextChunkType>`
  - ```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunkType
    :summary:
    ```
* - {py:obj}`VariantValue <abr_sdk.cabi.VariantValue>`
  - ```{autodoc2-docstring} abr_sdk.cabi.VariantValue
    :summary:
    ```
* - {py:obj}`Variant <abr_sdk.cabi.Variant>`
  - ```{autodoc2-docstring} abr_sdk.cabi.Variant
    :summary:
    ```
* - {py:obj}`Config <abr_sdk.cabi.Config>`
  - ```{autodoc2-docstring} abr_sdk.cabi.Config
    :summary:
    ```
* - {py:obj}`AsrTextChunk <abr_sdk.cabi.AsrTextChunk>`
  - ```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunk
    :summary:
    ```
* - {py:obj}`CAbi <abr_sdk.cabi.CAbi>`
  - ```{autodoc2-docstring} abr_sdk.cabi.CAbi
    :summary:
    ```
````

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`_resolve <abr_sdk.cabi._resolve>`
  - ```{autodoc2-docstring} abr_sdk.cabi._resolve
    :summary:
    ```
* - {py:obj}`_annotate_types <abr_sdk.cabi._annotate_types>`
  - ```{autodoc2-docstring} abr_sdk.cabi._annotate_types
    :summary:
    ```
````

### Data

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`ABR_ABI_MAJOR <abr_sdk.cabi.ABR_ABI_MAJOR>`
  - ```{autodoc2-docstring} abr_sdk.cabi.ABR_ABI_MAJOR
    :summary:
    ```
* - {py:obj}`ABR_ABI_MINOR <abr_sdk.cabi.ABR_ABI_MINOR>`
  - ```{autodoc2-docstring} abr_sdk.cabi.ABR_ABI_MINOR
    :summary:
    ```
* - {py:obj}`LogCallback <abr_sdk.cabi.LogCallback>`
  - ```{autodoc2-docstring} abr_sdk.cabi.LogCallback
    :summary:
    ```
````

### API

````{py:data} ABR_ABI_MAJOR
:canonical: abr_sdk.cabi.ABR_ABI_MAJOR
:value: >
   3

```{autodoc2-docstring} abr_sdk.cabi.ABR_ABI_MAJOR
```

````

````{py:data} ABR_ABI_MINOR
:canonical: abr_sdk.cabi.ABR_ABI_MINOR
:value: >
   0

```{autodoc2-docstring} abr_sdk.cabi.ABR_ABI_MINOR
```

````

`````{py:class} Status()
:canonical: abr_sdk.cabi.Status

Bases: {py:obj}`enum.IntEnum`

```{autodoc2-docstring} abr_sdk.cabi.Status
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.Status.__init__
```

````{py:attribute} OK
:canonical: abr_sdk.cabi.Status.OK
:value: >
   0

```{autodoc2-docstring} abr_sdk.cabi.Status.OK
```

````

````{py:attribute} ERR_INVALID_ARGS
:canonical: abr_sdk.cabi.Status.ERR_INVALID_ARGS
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_INVALID_ARGS
```

````

````{py:attribute} ERR_INVALID_CONFIG
:canonical: abr_sdk.cabi.Status.ERR_INVALID_CONFIG
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_INVALID_CONFIG
```

````

````{py:attribute} ERR_TIMEOUT
:canonical: abr_sdk.cabi.Status.ERR_TIMEOUT
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_TIMEOUT
```

````

````{py:attribute} ERR_INTERRUPT
:canonical: abr_sdk.cabi.Status.ERR_INTERRUPT
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_INTERRUPT
```

````

````{py:attribute} ERR_PLATFORM_UNSUPPORTED
:canonical: abr_sdk.cabi.Status.ERR_PLATFORM_UNSUPPORTED
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_PLATFORM_UNSUPPORTED
```

````

````{py:attribute} ERR_BUSY
:canonical: abr_sdk.cabi.Status.ERR_BUSY
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_BUSY
```

````

````{py:attribute} ERR_SYSTEM
:canonical: abr_sdk.cabi.Status.ERR_SYSTEM
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_SYSTEM
```

````

````{py:attribute} ERR_PERMISSION
:canonical: abr_sdk.cabi.Status.ERR_PERMISSION
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_PERMISSION
```

````

````{py:attribute} ERR_NOT_IMPLEMENTED
:canonical: abr_sdk.cabi.Status.ERR_NOT_IMPLEMENTED
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_NOT_IMPLEMENTED
```

````

````{py:attribute} ERR_INCOMPATIBLE_APP
:canonical: abr_sdk.cabi.Status.ERR_INCOMPATIBLE_APP
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_INCOMPATIBLE_APP
```

````

````{py:attribute} ERR_INCOMPATIBLE_LIBRARY
:canonical: abr_sdk.cabi.Status.ERR_INCOMPATIBLE_LIBRARY
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_INCOMPATIBLE_LIBRARY
```

````

````{py:attribute} ERR_NOT_STATICALLY_LINKED
:canonical: abr_sdk.cabi.Status.ERR_NOT_STATICALLY_LINKED
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_NOT_STATICALLY_LINKED
```

````

````{py:attribute} ERR_LICENSE
:canonical: abr_sdk.cabi.Status.ERR_LICENSE
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.Status.ERR_LICENSE
```

````

`````

`````{py:class} LogLevel()
:canonical: abr_sdk.cabi.LogLevel

Bases: {py:obj}`enum.IntEnum`

```{autodoc2-docstring} abr_sdk.cabi.LogLevel
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.__init__
```

````{py:attribute} DEFAULT
:canonical: abr_sdk.cabi.LogLevel.DEFAULT
:value: >
   0

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.DEFAULT
```

````

````{py:attribute} TRACE
:canonical: abr_sdk.cabi.LogLevel.TRACE
:value: >
   5

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.TRACE
```

````

````{py:attribute} DEBUG
:canonical: abr_sdk.cabi.LogLevel.DEBUG
:value: >
   10

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.DEBUG
```

````

````{py:attribute} INFO
:canonical: abr_sdk.cabi.LogLevel.INFO
:value: >
   20

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.INFO
```

````

````{py:attribute} WARNING
:canonical: abr_sdk.cabi.LogLevel.WARNING
:value: >
   30

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.WARNING
```

````

````{py:attribute} ERROR
:canonical: abr_sdk.cabi.LogLevel.ERROR
:value: >
   40

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.ERROR
```

````

````{py:attribute} CRITICAL
:canonical: abr_sdk.cabi.LogLevel.CRITICAL
:value: >
   50

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.CRITICAL
```

````

````{py:attribute} DISABLE
:canonical: abr_sdk.cabi.LogLevel.DISABLE
:value: >
   2147483647

```{autodoc2-docstring} abr_sdk.cabi.LogLevel.DISABLE
```

````

`````

`````{py:class} VariantType()
:canonical: abr_sdk.cabi.VariantType

Bases: {py:obj}`enum.IntEnum`

```{autodoc2-docstring} abr_sdk.cabi.VariantType
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.VariantType.__init__
```

````{py:attribute} UNDEFINED
:canonical: abr_sdk.cabi.VariantType.UNDEFINED
:value: >
   0

```{autodoc2-docstring} abr_sdk.cabi.VariantType.UNDEFINED
```

````

````{py:attribute} NULL
:canonical: abr_sdk.cabi.VariantType.NULL
:value: >
   1

```{autodoc2-docstring} abr_sdk.cabi.VariantType.NULL
```

````

````{py:attribute} BOOLEAN
:canonical: abr_sdk.cabi.VariantType.BOOLEAN
:value: >
   2

```{autodoc2-docstring} abr_sdk.cabi.VariantType.BOOLEAN
```

````

````{py:attribute} UINT
:canonical: abr_sdk.cabi.VariantType.UINT
:value: >
   3

```{autodoc2-docstring} abr_sdk.cabi.VariantType.UINT
```

````

````{py:attribute} SINT
:canonical: abr_sdk.cabi.VariantType.SINT
:value: >
   4

```{autodoc2-docstring} abr_sdk.cabi.VariantType.SINT
```

````

````{py:attribute} PTR
:canonical: abr_sdk.cabi.VariantType.PTR
:value: >
   5

```{autodoc2-docstring} abr_sdk.cabi.VariantType.PTR
```

````

````{py:attribute} STR
:canonical: abr_sdk.cabi.VariantType.STR
:value: >
   6

```{autodoc2-docstring} abr_sdk.cabi.VariantType.STR
```

````

`````

`````{py:class} EventFlags()
:canonical: abr_sdk.cabi.EventFlags

Bases: {py:obj}`enum.IntEnum`

```{autodoc2-docstring} abr_sdk.cabi.EventFlags
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.EventFlags.__init__
```

````{py:attribute} NONE
:canonical: abr_sdk.cabi.EventFlags.NONE
:value: >
   0

```{autodoc2-docstring} abr_sdk.cabi.EventFlags.NONE
```

````

````{py:attribute} AUTO_DISABLE
:canonical: abr_sdk.cabi.EventFlags.AUTO_DISABLE
:value: >
   1

```{autodoc2-docstring} abr_sdk.cabi.EventFlags.AUTO_DISABLE
```

````

````{py:attribute} DISABLED
:canonical: abr_sdk.cabi.EventFlags.DISABLED
:value: >
   2

```{autodoc2-docstring} abr_sdk.cabi.EventFlags.DISABLED
```

````

`````

`````{py:class} AsrTextChunkType()
:canonical: abr_sdk.cabi.AsrTextChunkType

Bases: {py:obj}`enum.IntEnum`

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunkType
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunkType.__init__
```

````{py:attribute} NONE
:canonical: abr_sdk.cabi.AsrTextChunkType.NONE
:value: >
   0

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunkType.NONE
```

````

````{py:attribute} CAUSAL
:canonical: abr_sdk.cabi.AsrTextChunkType.CAUSAL
:value: >
   1

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunkType.CAUSAL
```

````

````{py:attribute} NONCAUSAL
:canonical: abr_sdk.cabi.AsrTextChunkType.NONCAUSAL
:value: >
   2

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunkType.NONCAUSAL
```

````

````{py:attribute} POSTPROC
:canonical: abr_sdk.cabi.AsrTextChunkType.POSTPROC
:value: >
   3

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunkType.POSTPROC
```

````

`````

`````{py:class} VariantValue()
:canonical: abr_sdk.cabi.VariantValue

Bases: {py:obj}`ctypes.Union`

```{autodoc2-docstring} abr_sdk.cabi.VariantValue
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.VariantValue.__init__
```

````{py:attribute} _fields_
:canonical: abr_sdk.cabi.VariantValue._fields_
:value: >
   (('boolean',), ('uint',), ('sint',), ('ptr',), ('str',))

```{autodoc2-docstring} abr_sdk.cabi.VariantValue._fields_
```

````

`````

`````{py:class} Variant()
:canonical: abr_sdk.cabi.Variant

Bases: {py:obj}`ctypes.Structure`

```{autodoc2-docstring} abr_sdk.cabi.Variant
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.Variant.__init__
```

````{py:attribute} _fields_
:canonical: abr_sdk.cabi.Variant._fields_
:value: >
   (('type',), ('value',))

```{autodoc2-docstring} abr_sdk.cabi.Variant._fields_
```

````

`````

`````{py:class} Config()
:canonical: abr_sdk.cabi.Config

Bases: {py:obj}`ctypes.Structure`

```{autodoc2-docstring} abr_sdk.cabi.Config
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.Config.__init__
```

````{py:attribute} _fields_
:canonical: abr_sdk.cabi.Config._fields_
:value: >
   (('key',), ('value',))

```{autodoc2-docstring} abr_sdk.cabi.Config._fields_
```

````

`````

`````{py:class} AsrTextChunk()
:canonical: abr_sdk.cabi.AsrTextChunk

Bases: {py:obj}`ctypes.Structure`

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunk
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunk.__init__
```

````{py:attribute} _fields_
:canonical: abr_sdk.cabi.AsrTextChunk._fields_
:value: >
   (('type',), ('pad0_',), ('replace_byte_offs_begin',), ('replace_byte_offs_end',), ('n_bytes',), ('pa...

```{autodoc2-docstring} abr_sdk.cabi.AsrTextChunk._fields_
```

````

`````

````{py:data} LogCallback
:canonical: abr_sdk.cabi.LogCallback
:value: >
   'CFUNCTYPE(...)'

```{autodoc2-docstring} abr_sdk.cabi.LogCallback
```

````

`````{py:exception} AbrSdkCAbiError(status: int | abr_sdk.cabi.Status)
:canonical: abr_sdk.cabi.AbrSdkCAbiError

Bases: {py:obj}`abr_sdk.exceptions.AbrSdkError`

```{autodoc2-docstring} abr_sdk.cabi.AbrSdkCAbiError
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.AbrSdkCAbiError.__init__
```

````{py:property} status
:canonical: abr_sdk.cabi.AbrSdkCAbiError.status
:type: abr_sdk.cabi.Status

```{autodoc2-docstring} abr_sdk.cabi.AbrSdkCAbiError.status
```

````

````{py:method} check(status: int | abr_sdk.cabi.Status) -> abr_sdk.cabi.Status
:canonical: abr_sdk.cabi.AbrSdkCAbiError.check
:staticmethod:

```{autodoc2-docstring} abr_sdk.cabi.AbrSdkCAbiError.check
```

````

`````

````{py:function} _resolve(cdll: ctypes.CDLL, name: str, argtypes: tuple[typing.Any, ...], restype: typing.Any, optional: bool = False) -> None
:canonical: abr_sdk.cabi._resolve

```{autodoc2-docstring} abr_sdk.cabi._resolve
```
````

````{py:function} _annotate_types(cdll: ctypes.CDLL) -> None
:canonical: abr_sdk.cabi._annotate_types

```{autodoc2-docstring} abr_sdk.cabi._annotate_types
```
````

`````{py:class} CAbi(library_path: str | pathlib.Path)
:canonical: abr_sdk.cabi.CAbi

```{autodoc2-docstring} abr_sdk.cabi.CAbi
```

```{rubric} Initialization
```

```{autodoc2-docstring} abr_sdk.cabi.CAbi.__init__
```

````{py:attribute} CDLLCache
:canonical: abr_sdk.cabi.CAbi.CDLLCache
:type: typing.ClassVar[dict[str, ctypes.CDLL]]
:value: >
   None

```{autodoc2-docstring} abr_sdk.cabi.CAbi.CDLLCache
```

````

````{py:method} abr_abi_version() -> int
:canonical: abr_sdk.cabi.CAbi.abr_abi_version

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_abi_version
```

````

````{py:method} abr_app_create(app_p: ctypes._Pointer[ctypes.c_void_p], cfg: ctypes._Pointer[Config], n_cfg: ctypes.c_uint32 | int, log_cb: collections.abc.Callable[[ctypes.c_void_p, ctypes.c_int32, ctypes.c_char_p], None] | None, log_cb_user_data: ctypes.c_void_p | None) -> abr_sdk.cabi.Status
:canonical: abr_sdk.cabi.CAbi.abr_app_create

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_app_create
```

````

````{py:method} abr_app_activate_license(app: ctypes.c_void_p | None, envelope: ctypes.c_char_p | bytes | bytearray) -> abr_sdk.cabi.Status
:canonical: abr_sdk.cabi.CAbi.abr_app_activate_license

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_app_activate_license
```

````

````{py:method} abr_app_reset(app: ctypes.c_void_p | None) -> abr_sdk.cabi.Status
:canonical: abr_sdk.cabi.CAbi.abr_app_reset

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_app_reset
```

````

````{py:method} abr_app_free(app: ctypes.c_void_p | None) -> None
:canonical: abr_sdk.cabi.CAbi.abr_app_free

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_app_free
```

````

````{py:method} abr_app_get_nn_count(app: ctypes.c_void_p | None) -> int
:canonical: abr_sdk.cabi.CAbi.abr_app_get_nn_count

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_app_get_nn_count
```

````

````{py:method} abr_app_get_nn(app: ctypes.c_void_p | None, idx: ctypes.c_uint32 | int) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_app_get_nn

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_app_get_nn
```

````

````{py:method} abr_get_parent(obj: ctypes.c_void_p | None) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_get_parent

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_get_parent
```

````

````{py:method} abr_get_property_count(obj: ctypes.c_void_p | None) -> int
:canonical: abr_sdk.cabi.CAbi.abr_get_property_count

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_get_property_count
```

````

````{py:method} abr_get_property_name(obj: ctypes.c_void_p | None, idx: ctypes.c_uint32 | int) -> bytes | None
:canonical: abr_sdk.cabi.CAbi.abr_get_property_name

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_get_property_name
```

````

````{py:method} abr_get_property_value_by_idx(obj: ctypes.c_void_p | None, idx: ctypes.c_uint32 | int) -> abr_sdk.cabi.Variant
:canonical: abr_sdk.cabi.CAbi.abr_get_property_value_by_idx

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_get_property_value_by_idx
```

````

````{py:method} abr_get_property_value_by_name(obj: ctypes.c_void_p | None, key: ctypes.c_char_p | bytes | bytearray) -> abr_sdk.cabi.Variant
:canonical: abr_sdk.cabi.CAbi.abr_get_property_value_by_name

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_get_property_value_by_name
```

````

````{py:method} abr_nn_get_buffer_count(nn: ctypes.c_void_p | None) -> int
:canonical: abr_sdk.cabi.CAbi.abr_nn_get_buffer_count

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_nn_get_buffer_count
```

````

````{py:method} abr_nn_get_buffer(nn: ctypes.c_void_p | None, idx: ctypes.c_uint32 | int) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_nn_get_buffer

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_nn_get_buffer
```

````

````{py:method} abr_nn_is_idle(nn: ctypes.c_void_p | None) -> bool
:canonical: abr_sdk.cabi.CAbi.abr_nn_is_idle

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_nn_is_idle
```

````

````{py:method} abr_buf_get_size(buf: ctypes.c_void_p | None) -> int
:canonical: abr_sdk.cabi.CAbi.abr_buf_get_size

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_buf_get_size
```

````

````{py:method} abr_buf_get_level(buf: ctypes.c_void_p | None) -> int
:canonical: abr_sdk.cabi.CAbi.abr_buf_get_level

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_buf_get_level
```

````

````{py:method} abr_buf_push(buf: ctypes.c_void_p | None, data: typing.Union[ctypes._Pointer[ctypes.c_uint8], bytes, bytearray], n_bytes: ctypes.c_uint32 | int) -> int
:canonical: abr_sdk.cabi.CAbi.abr_buf_push

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_buf_push
```

````

````{py:method} abr_buf_pull(buf: ctypes.c_void_p | None, data: typing.Union[ctypes._Pointer[ctypes.c_uint8], bytes, bytearray], n_bytes: ctypes.c_uint32 | int) -> int
:canonical: abr_sdk.cabi.CAbi.abr_buf_pull

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_buf_pull
```

````

````{py:method} abr_buf_clear(buf: ctypes.c_void_p | None) -> None
:canonical: abr_sdk.cabi.CAbi.abr_buf_clear

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_buf_clear
```

````

````{py:method} abr_evset_create(app: ctypes.c_void_p | None) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_evset_create

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_evset_create
```

````

````{py:method} abr_evset_get_platform_handle(evset: ctypes.c_void_p | None) -> int
:canonical: abr_sdk.cabi.CAbi.abr_evset_get_platform_handle

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_evset_get_platform_handle
```

````

````{py:method} abr_evset_poll(evset: ctypes.c_void_p | None, timeout_ms: ctypes.c_int32 | int) -> abr_sdk.cabi.Status
:canonical: abr_sdk.cabi.CAbi.abr_evset_poll

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_evset_poll
```

````

````{py:method} abr_evset_interrupt(evset: ctypes.c_void_p | None) -> None
:canonical: abr_sdk.cabi.CAbi.abr_evset_interrupt

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_evset_interrupt
```

````

````{py:method} abr_evset_free(evset: ctypes.c_void_p | None) -> None
:canonical: abr_sdk.cabi.CAbi.abr_evset_free

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_evset_free
```

````

````{py:method} abr_event_create_buf_level_event(evset: ctypes.c_void_p | None, buf: ctypes.c_void_p | None, threshold: ctypes.c_uint32 | int, flags: ctypes.c_uint8 | int) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_event_create_buf_level_event

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_event_create_buf_level_event
```

````

````{py:method} abr_event_create_nn_idle_event(evset: ctypes.c_void_p | None, nn: ctypes.c_void_p | None, flags: ctypes.c_uint8 | int) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_event_create_nn_idle_event

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_event_create_nn_idle_event
```

````

````{py:method} abr_event_create_app_idle_event(evset: ctypes.c_void_p | None, flags: ctypes.c_uint8 | int) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_event_create_app_idle_event

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_event_create_app_idle_event
```

````

````{py:method} abr_event_free(event: ctypes.c_void_p | None) -> None
:canonical: abr_sdk.cabi.CAbi.abr_event_free

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_event_free
```

````

````{py:method} abr_event_is_triggered(event: ctypes.c_void_p | None) -> bool
:canonical: abr_sdk.cabi.CAbi.abr_event_is_triggered

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_event_is_triggered
```

````

````{py:method} abr_event_is_enabled(event: ctypes.c_void_p | None) -> bool
:canonical: abr_sdk.cabi.CAbi.abr_event_is_enabled

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_event_is_enabled
```

````

````{py:method} abr_event_enable(event: ctypes.c_void_p | None) -> None
:canonical: abr_sdk.cabi.CAbi.abr_event_enable

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_event_enable
```

````

````{py:method} abr_event_disable(event: ctypes.c_void_p | None) -> None
:canonical: abr_sdk.cabi.CAbi.abr_event_disable

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_event_disable
```

````

````{py:method} abr_asr_available(app: ctypes.c_void_p | None) -> bool
:canonical: abr_sdk.cabi.CAbi.abr_asr_available

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_asr_available
```

````

````{py:method} abr_asr_get_input_buffer(asr: ctypes.c_void_p | None) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_asr_get_input_buffer

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_asr_get_input_buffer
```

````

````{py:method} abr_asr_get_text_chunk_output_buffer(asr: ctypes.c_void_p | None) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_asr_get_text_chunk_output_buffer

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_asr_get_text_chunk_output_buffer
```

````

````{py:method} abr_asr_flush(asr: ctypes.c_void_p | None) -> None
:canonical: abr_sdk.cabi.CAbi.abr_asr_flush

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_asr_flush
```

````

````{py:method} abr_tts_available(app: ctypes.c_void_p | None) -> bool
:canonical: abr_sdk.cabi.CAbi.abr_tts_available

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_tts_available
```

````

````{py:method} abr_tts_get_text_input_buffer(app: ctypes.c_void_p | None) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_tts_get_text_input_buffer

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_tts_get_text_input_buffer
```

````

````{py:method} abr_tts_get_pcm_output_buffer(app: ctypes.c_void_p | None) -> ctypes.c_void_p
:canonical: abr_sdk.cabi.CAbi.abr_tts_get_pcm_output_buffer

```{autodoc2-docstring} abr_sdk.cabi.CAbi.abr_tts_get_pcm_output_buffer
```

````

`````
