synta 0.1.6

ASN.1 parser, decoder, and encoder library with DER/BER support and C FFI
Documentation
# C Header Files

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [synta.h]#syntah
- [Usage from C]#usage-from-c
- [Linking]#linking
  - [Using pkg-config]#using-pkg-config
  - [Using CMake]#using-cmake
  - [Manual]#manual
- [Documentation]#documentation

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

This directory contains automatically generated C header files for the Synta FFI.

## synta.h

The main C header file, generated from Rust FFI code using cbindgen.

**Warning**: Do not modify this file manually. It is automatically regenerated when building the `synta-ffi` crate.

To regenerate:
```bash
cargo build --release -p synta-ffi
```

## Usage from C

Include the header in your C code:

```c
#include <synta.h>

// Example: Decode an integer
const uint8_t data[] = {0x02, 0x01, 0x2A}; // INTEGER 42
SyntaDecoder* decoder = synta_decoder_new(data, sizeof(data), SyntaEncoding_Der);

SyntaInteger* integer = NULL;
if (synta_decode_integer(decoder, &integer) == SyntaErrorCode_Success) {
    int64_t value;
    if (synta_integer_to_i64(integer, &value) == SyntaErrorCode_Success) {
        printf("Value: %lld\n", (long long)value);
    }
    synta_integer_free(integer);
}

synta_decoder_free(decoder);
```

## Linking

### Using pkg-config

```bash
gcc myapp.c $(pkg-config --cflags --libs csynta) -o myapp
```

### Using CMake

```cmake
find_package(Synta REQUIRED)
target_link_libraries(myapp Synta::Synta)
```

### Manual

```bash
gcc myapp.c -I/path/to/include -L/path/to/lib -lcsynta -o myapp
```

## Documentation

See the following documents for more information:
- [C API Reference]../docs/C_API.md - Complete API documentation
- [Memory Management]../docs/C_MEMORY.md - Memory ownership and safety
- [Migration from OpenSSL]../docs/MIGRATION_OPENSSL.md - Guide for OpenSSL users