Options
All
  • Public
  • Public/Protected
  • All
Menu

Module structs

This module implements parsing / formatting routines for Netlink and Generic Netlink structures.

Important: These structures use the host endianness. This module will serialize messages differently depending on that.

Index

Type aliases

GetArrayOptions: { zero?: boolean }

Type declaration

  • Optional zero?: boolean
ParseResult<T>: { consumed: number; x: T }

Type parameters

  • T

Type declaration

  • consumed: number
  • x: T
StreamData: Uint8Array | Uint8Array[] | ((out: AttrStream) => any)

Object allowing efficient construction of an attribute stream.

Variables

GENL_HEADER_LENGTH: 4 = 4

Length of generic netlink headers

HEADER_LENGTH: 16 = 16

Length of netlink headers

Functions

  • align(x: number): number
  • Round the passed length up to align it

    Parameters

    • x: number

    Returns number

  • countLength(x: Uint8Array | Uint8Array[]): number
  • Parameters

    • x: Uint8Array | Uint8Array[]

    Returns number

  • ensureArray(x: Uint8Array | Uint8Array[]): Uint8Array[]
  • Parameters

    • x: Uint8Array | Uint8Array[]

    Returns Uint8Array[]

  • getArray<T>(x: Buffer, fn: (item: Buffer) => T, options?: GetArrayOptions): T[]
  • Type parameters

    • T

    Parameters

    • x: Buffer
    • fn: (item: Buffer) => T
        • (item: Buffer): T
        • Parameters

          • item: Buffer

          Returns T

    • Optional options: GetArrayOptions

    Returns T[]

  • getBool(x: Buffer): boolean
  • getEnum<R>(mapping: {}, x: number): number | keyof R
  • Type parameters

    • R

    Parameters

    • mapping: {}
      • [key: number]: string
    • x: number

    Returns number | keyof R

  • getF32(x: Buffer): number
  • getF64(x: Buffer): number
  • getFlag(x: Buffer): true
  • getMap<T>(x: Buffer, fn: (item: Buffer) => T): Map<number, T>
  • Type parameters

    • T

    Parameters

    • x: Buffer
    • fn: (item: Buffer) => T
        • (item: Buffer): T
        • Parameters

          • item: Buffer

          Returns T

    Returns Map<number, T>

  • getObject<T>(x: Buffer, fns: {}): T
  • Type parameters

    Parameters

    • x: Buffer
    • fns: {}
      • [key: number]: (data: Buffer, obj: T) => any
          • (data: Buffer, obj: T): any
          • Parameters

            • data: Buffer
            • obj: T

            Returns any

    Returns T

  • getPadding(x: number): Buffer
  • Like padding but returns a zero-filled buffer of that length

    Parameters

    • x: number

    Returns Buffer

  • getS16(x: Buffer): number
  • getS32(x: Buffer): number
  • getS64(x: Buffer): bigint
  • getS8(x: Buffer): number
  • getString(x: Buffer, options?: { encoding?: BufferEncoding; maxLength: number }): string
  • Parameters

    • x: Buffer
    • Optional options: { encoding?: BufferEncoding; maxLength: number }
      • Optional encoding?: BufferEncoding
      • maxLength: number

    Returns string

  • getU16(x: Buffer): number
  • getU16be(x: Buffer): number
  • getU32(x: Buffer): number
  • getU32be(x: Buffer): number
  • getU64(x: Buffer): bigint
  • getU8(x: Buffer): number
  • pad(x: Uint8Array[]): Uint8Array[]
  • Append necessary padding to data. THIS MODIFIES THE ORIGINAL ARRAY

    Parameters

    • x: Uint8Array[]

    Returns Uint8Array[]

  • padding(x: number): number
  • Get the amount of padding (in bytes) to add after length

    Parameters

    • x: number

    Returns number

  • Calls parseMessage repeatedly, ignoring padding between messages, until there's no data left (other than padding).

    retrns

    Array of parsed messages

    Parameters

    • r: Buffer

    Returns NetlinkMessage[]

  • putBool(x: boolean): Buffer
  • putEnum<R>(mapping: { [ key in string | number | symbol]: number }, x: number | keyof R): number
  • Type parameters

    • R

    Parameters

    • mapping: { [ key in string | number | symbol]: number }
    • x: number | keyof R

    Returns number

  • putF32(x: number): Buffer
  • putF64(x: number): Buffer
  • putFlag(x: true): Buffer
  • putS16(x: number): Buffer
  • putS32(x: number): Buffer
  • putS64(x: bigint): Buffer
  • putS8(x: number): Buffer
  • putString(x: string, options?: { encoding?: BufferEncoding; maxLength: number }): Buffer
  • Parameters

    • x: string
    • Optional options: { encoding?: BufferEncoding; maxLength: number }
      • Optional encoding?: BufferEncoding
      • maxLength: number

    Returns Buffer

  • putU16(x: number): Buffer
  • putU16be(x: number): Buffer
  • putU32(x: number): Buffer
  • putU32be(x: number): Buffer
  • putU64(x: bigint): Buffer
  • putU8(x: number): Buffer
  • readF32(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readF64(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readS16(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readS32(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readS64(offset?: number): bigint
  • Parameters

    • Optional offset: number

    Returns bigint

  • readS8(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readU16(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readU16be(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readU32(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readU32be(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • readU64(offset?: number): bigint
  • Parameters

    • Optional offset: number

    Returns bigint

  • readU8(offset?: number): number
  • Parameters

    • Optional offset: number

    Returns number

  • writeF32(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeF64(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeS16(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeS32(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeS64(value: bigint, offset?: number): number
  • Parameters

    • value: bigint
    • Optional offset: number

    Returns number

  • writeS8(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeU16(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeU16be(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeU32(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeU32be(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

  • writeU64(value: bigint, offset?: number): number
  • Parameters

    • value: bigint
    • Optional offset: number

    Returns number

  • writeU8(value: number, offset?: number): number
  • Parameters

    • value: number
    • Optional offset: number

    Returns number

Generated using TypeDoc