///|
fn ffi_frame_pool_create(capacity : Int, frame_size : Int) -> Int {
  ignore(capacity)
  ignore(frame_size)
  -1
}

///|
fn ffi_frame_pool_destroy(pool_id : Int) -> Int {
  ignore(pool_id)
  -1
}

///|
fn ffi_frame_pool_acquire(pool_id : Int) -> Int {
  ignore(pool_id)
  -1
}

///|
fn ffi_frame_pool_acquire_rx(pool_id : Int) -> Int {
  ignore(pool_id)
  -1
}

///|
fn ffi_frame_pool_release(pool_id : Int, slot : Int) -> Int {
  ignore(pool_id)
  ignore(slot)
  -1
}

///|
fn ffi_frame_pool_mark_filled(pool_id : Int, slot : Int, length : Int) -> Int {
  ignore(pool_id)
  ignore(slot)
  ignore(length)
  -1
}

///|
fn ffi_frame_pool_mark_sending(pool_id : Int, slot : Int) -> Int {
  ignore(pool_id)
  ignore(slot)
  -1
}

///|
fn ffi_frame_pool_mark_sent(pool_id : Int, slot : Int) -> Int {
  ignore(pool_id)
  ignore(slot)
  -1
}

///|
fn ffi_frame_pool_mark_received(pool_id : Int, slot : Int, length : Int) -> Int {
  ignore(pool_id)
  ignore(slot)
  ignore(length)
  -1
}

///|
fn ffi_frame_pool_free_count(pool_id : Int) -> Int {
  ignore(pool_id)
  -1
}

///|
fn ffi_frame_pool_slot_state(pool_id : Int, slot : Int) -> Int {
  ignore(pool_id)
  ignore(slot)
  -1
}

///|
fn ffi_frame_pool_slot_length(pool_id : Int, slot : Int) -> Int {
  ignore(pool_id)
  ignore(slot)
  -1
}

///|
fn ffi_frame_pool_write(
  pool_id : Int,
  slot : Int,
  offset : Int,
  src : FixedArray[Byte],
  count : Int,
) -> Int {
  ignore(pool_id)
  ignore(slot)
  ignore(offset)
  ignore(src)
  ignore(count)
  -1
}

///|
fn ffi_frame_pool_read_into(
  pool_id : Int,
  slot : Int,
  offset : Int,
  dst : FixedArray[Byte],
  count : Int,
) -> Int {
  ignore(pool_id)
  ignore(slot)
  ignore(offset)
  ignore(dst)
  ignore(count)
  -1
}

///|
fn ffi_frame_pool_copy(
  pool_id : Int,
  src_slot : Int,
  dst_slot : Int,
  count : Int,
) -> Int {
  ignore(pool_id)
  ignore(src_slot)
  ignore(dst_slot)
  ignore(count)
  -1
}