node-ctypes - v2.10.0
    Preparing search index...

    Interface StructDef<F>

    A struct type definition created by the struct function.

    Provides low-level create(), get(), set(), and toObject() methods. For Python-like syntax, use Structure class instead.

    interface StructDef<F extends Record<string, FieldSpec> = Record<string, any>> {
        size: number;
        alignment: number;
        fields: FieldDef[];
        packed: boolean;
        create(values?: FieldsInput<F>): Buffer;
        get<K extends string>(buf: Buffer, fieldName: K): FieldValue<F, K>;
        set<K extends string>(
            buf: Buffer,
            fieldName: K,
            value: FieldArg<F, K>,
        ): void;
        toObject(buf: Buffer): FieldsObject<F>;
        getNestedBuffer(buf: Buffer, fieldName: string): Buffer;
    }

    Type Parameters

    • F extends Record<string, FieldSpec> = Record<string, any>

    Hierarchy (View Summary)

    Index
    size: number

    Total size of the struct in bytes.

    alignment: number

    Alignment requirement in bytes.

    fields: FieldDef[]

    Field definitions.

    packed: boolean

    Whether the struct is packed (no padding).

    • Read a field value from a buffer.

      Type Parameters

      • K extends string

      Parameters

      • buf: Buffer
      • fieldName: K

      Returns FieldValue<F, K>

    • Write a field value to a buffer.

      Type Parameters

      • K extends string

      Parameters

      Returns void

    • Get a view of a nested struct's buffer region.

      Parameters

      • buf: Buffer
      • fieldName: string

      Returns Buffer