[BRLTTY] Low-level BrlAPI questions

Aura Kelloniemi kaura.dev at sange.fi
Fri Mar 26 16:45:43 EDT 2021


Hello

I am continuing my attempt to create bindigs for BrlAPI to the Rust language.
I have several questions about BrlAPI's internals:

- Is BrlAPI thread-safe in the sense, that I can call all BrlAPI functions
  from different threads with the same handle in parallel?

- What is the best way to write to the display if the input text is always
  UTF-8 encoded? (This is how Rust's strings work).

- What is the intended use of enterTtyModeWithPath? How to use it? What does
  its return value mean?

- Shouldn't enterTtyModeWithPath take the ttys argument as conast int* instead
  of just int*?

- It is not always clear who owns the date returned by BrlAPI functions. I
  have assumed, that whenever a string is returned from BrlAPI (either
  directly or as part of a structure), the string is owned by BrlAPI and
  should not be freed. BrlAPI's documentation is not clear about this.

- Does BrlAPI leak memory that is used by thread-local storage? To me it looks
  like brlapi_error_location allocates new memory for each thread, but it is
  never freed.

I am very grateful for answers to these questions. Probably more will follow,
when I dig deeper to the API.

-- 
Aura


More information about the BRLTTY mailing list