package core:sys/haiku
Warning: This was generated for -target:haiku_arm64
and might not represent every target this package supports.
Index
Types (70)
- Errno
- addr_t
- address_spec
- alarm_mode
- area_id
- area_info
- area_locking
- area_protection_flag
- area_protection_flags
- bigtime_t
- blkcnt_t
- blksize_t
- caddr_t
- clockid_t
- cnt_t
- cpu_info
- cpu_platform
- cpu_topology_node_info
- cpu_vendor
- cpuid_info
- dev_t
- directory_which
- find_path_flag
- find_path_flags
- fsblkcnt_t
- fsfilcnt_t
- generic_addr_t
- generic_size_t
- gid_t
- id_t
- image_id
- ino_t
- key_t
- mode_t
- nanotime_t
- nlink_t
- off_t
- path_base_directory
- perform_code
- phys_addr_t
- phys_size_t
- pid_t
- port_flag
- port_flags
- port_id
- port_info
- pthread_t
- sem_id
- sem_info
- semaphore_flag
- semaphore_flags
- sig_atomic_t
- sigset_t
- status_t
- system_info
- team_id
- team_info
- team_usage_info
- team_usage_who
- thread_func
- thread_id
- thread_info
- thread_priority
- thread_state
- time_t
- timespec
- topology_level_type
- type_code
- uid_t
- umode_t
Constants (26)
- APP_ERROR_BASE
- APP_IMAGE_SYMBOL
- CURRENT_TEAM
- DEVICE_ERROR_BASE
- ERRORS_END
- FILE_NAME_LENGTH
- FIRST_REAL_TIME_PRIORITY
- GENERAL_ERROR_BASE
- INTERFACE_ERROR_BASE
- MAIL_ERROR_BASE
- MAXPATHLEN
- MEDIA_ERROR_BASE
- MIDI_ERROR_BASE
- NAME_MAX
- OS_ERROR_BASE
- OS_NAME_LENGTH
- PATH_MAX
- PATH_NAME_LENGTH
- POSIX_ERROR_BASE
- POSIX_ERROR_FACTOR
- PRINT_ERROR_BASE
- STORAGE_ERROR_BASE
- SYSTEM_TEAM
- SYSTEM_TIMEBASE
- TRANSLATION_ERROR_BASE
- USE_POSITIVE_POSIX_ERRORS
Variables (0)
This section is empty.
Procedures (70)
- acquire_sem
- acquire_sem_etc
- area_for
- clone_area
- close_port
- create_area
- create_port
- create_sem
- current_image_symbol
- debugger
- delete_area
- delete_port
- delete_sem
- disable_debugger
- exit_thread
- find_area
- find_directory
- find_path
- find_path_etc
- find_path_for_path
- find_path_for_path_etc
- find_paths
- find_paths_etc
- find_port
- find_thread
- get_cpu_topology_info
- get_cpuid
- get_pthread_thread_id
- get_sem_count
- get_system_info
- has_data
- is_computer_on
- is_computer_on_fire
- kill_team
- kill_thread
- on_exit_thread
- port_buffer_size
- port_buffer_size_etc
- port_count
- read_port
- read_port_etc
- real_time_clock
- real_time_clock_usecs
- receive_data
- release_sem
- release_sem_etc
- rename_thread
- resize_area
- resume_thread
- send_data
- set_alarm
- set_area_protection
- set_port_owner
- set_real_time_clock
- set_sem_owner
- set_thread_priority
- sigtimedwait
- snooze
- snooze_etc
- snooze_until
- spawn_thread
- suspend_thread
- switch_sem
- switch_sem_etc
- system_time
- system_time_nsecs
- wait_for_thread
- wait_for_thread_etc
- write_port
- write_port_etc
Procedure Groups (0)
This section is empty.
Types
Errno ¶
Errno :: enum i32 { // General Errors NO_MEMORY = -2147843648, IO_ERROR = -2147843647, PERMISSION_DENIED = -2147843646, BAD_INDEX = -2147843645, BAD_TYPE = -2147843644, BAD_VALUE = -2147843643, MISMATCHED_VALUES = -2147843642, NAME_NOT_FOUND = -2147843641, NAME_IN_USE = -2147843640, TIMED_OUT = -2147843639, INTERRUPTED = -2147843638, WOULD_BLOCK = -2147843637, CANCELED = -2147843636, NO_INIT = -2147843635, NOT_INITIALIZED = -2147843635, BUSY = -2147843634, NOT_ALLOWED = -2147843633, BAD_DATA = -2147843632, DONT_DO_THAT = -2147843631, ERROR = -1, OK = 0, NO_ERROR = 0, // Kernel Kit Errors BAD_SEM_ID = -2147749552, NO_MORE_SEMS = -2147749551, BAD_THREAD_ID = -2147749296, NO_MORE_THREADS = -2147749295, BAD_THREAD_STATE = -2147749294, BAD_TEAM_ID = -2147749293, NO_MORE_TEAMS = -2147749292, BAD_PORT_ID = -2147749040, NO_MORE_PORTS = -2147749039, BAD_IMAGE_ID = -2147748784, BAD_ADDRESS = -2147748783, NOT_AN_EXECUTABLE = -2147748782, MISSING_LIBRARY = -2147748781, MISSING_SYMBOL = -2147748780, UNKNOWN_EXECUTABLE = -2147748779, LEGACY_EXECUTABLE = -2147748778, DEBUGGER_ALREADY_INSTALLED = -2147748528, // Application Kit Errors BAD_REPLY = -2147745456, DUPLICATE_REPLY = -2147745455, MESSAGE_TO_SELF = -2147745454, BAD_HANDLER = -2147745453, ALREADY_RUNNING = -2147745452, LAUNCH_FAILED = -2147745451, AMBIGUOUS_APP_LAUNCH = -2147745450, UNKNOWN_MIME_TYPE = -2147745449, BAD_SCRIPT_SYNTAX = -2147745448, LAUNCH_FAILED_NO_RESOLVE_LINK = -2147745447, LAUNCH_FAILED_EXECUTABLE = -2147745446, LAUNCH_FAILED_APP_NOT_FOUND = -2147745445, LAUNCH_FAILED_APP_IN_TRASH = -2147745444, LAUNCH_FAILED_NO_PREFERRED_APP = -2147745443, LAUNCH_FAILED_FILES_APP_NOT_FOUND = -2147745442, BAD_MIME_SNIFFER_RULE = -2147745441, NOT_A_MESSAGE = -2147745440, SHUTDOWN_CANCELLED = -2147745439, SHUTTING_DOWN = -2147745438, // Storage Kit/File System Errors FILE_ERROR = -2147549072, // 1 was B_FILE_NOT_FOUND (deprecated) FILE_EXISTS = -2147549070, ENTRY_NOT_FOUND = -2147549069, NAME_TOO_LONG = -2147549068, NOT_A_DIRECTORY = -2147549067, DIRECTORY_NOT_EMPTY = -2147549066, DEVICE_FULL = -2147549065, READ_ONLY_DEVICE = -2147549064, IS_A_DIRECTORY = -2147549063, NO_MORE_FDS = -2147549062, CROSS_DEVICE_LINK = -2147549061, LINK_LIMIT = -2147549060, BUSTED_PIPE = -2147549059, UNSUPPORTED = -2147549058, PARTITION_TOO_SMALL = -2147549057, PARTIAL_READ = -2147549056, PARTIAL_WRITE = -2147549055, EIO = -2147843647, EACCES = -2147843646, EINVAL = -2147843643, ETIMEDOUT = -2147843639, EINTR = -2147843638, EAGAIN = -2147843637, EWOULDBLOCK = -2147843637, EBUSY = -2147843634, EPERM = -2147843633, EFAULT = -2147748783, ENOEXEC = -2147748782, EBADF = -2147549072, EEXIST = -2147549070, ENOENT = -2147549069, ENAMETOOLONG = -2147549068, ENOTDIR = -2147549067, ENOTEMPTY = -2147549066, ENOSPC = -2147549065, EROFS = -2147549064, EISDIR = -2147549063, EMFILE = -2147549062, EXDEV = -2147549061, ELOOP = -2147549060, EPIPE = -2147549059, ENOMEM = -2147843648, E2BIG = -2147544975, ECHILD = -2147544974, EDEADLK = -2147544973, EFBIG = -2147544972, EMLINK = -2147544971, ENFILE = -2147544970, ENODEV = -2147544969, ENOLCK = -2147544968, ENOSYS = -2147544967, ENOTTY = -2147544966, ENXIO = -2147544965, ESPIPE = -2147544964, ESRCH = -2147544963, EDOM = -2147544960, ERANGE = -2147544959, EPROTOTYPE = -2147544958, EPROTONOSUPPORT = -2147544957, EAFNOSUPPORT = -2147544955, EADDRINUSE = -2147544954, EADDRNOTAVAIL = -2147544953, ENETDOWN = -2147544952, ENETUNREACH = -2147544951, ENETRESET = -2147544950, ECONNABORTED = -2147544949, ECONNRESET = -2147544948, EISCONN = -2147544947, ENOTCONN = -2147544946, ECONNREFUSED = -2147544944, EHOSTUNREACH = -2147544943, ENOPROTOOPT = -2147544942, ENOBUFS = -2147544941, EINPROGRESS = -2147544940, EALREADY = -2147544939, EILSEQ = -2147544938, ENOMSG = -2147544937, ESTALE = -2147544936, EOVERFLOW = -2147544935, EMSGSIZE = -2147544934, EOPNOTSUPP = -2147544933, ENOTSOCK = -2147544932, EBADMSG = -2147544930, ECANCELED = -2147544929, EDESTADDRREQ = -2147544928, EDQUOT = -2147544927, EIDRM = -2147544926, EMULTIHOP = -2147544925, ENODATA = -2147544924, ENOLINK = -2147544923, ENOSR = -2147544922, ENOSTR = -2147544921, ENOTSUP = -2147544920, EPROTO = -2147544919, ETIME = -2147544918, ETXTBSY = -2147544917, ENOTRECOVERABLE = -2147544915, EOWNERDEAD = -2147544914, // New error codes that can be mapped to POSIX errors TOO_MANY_ARGS = -2147544975, FILE_TOO_LARGE = -2147544972, DEVICE_NOT_FOUND = -2147544969, RESULT_NOT_REPRESENTABLE = -2147544959, BUFFER_OVERFLOW = -2147544935, NOT_SUPPORTED = -2147544933, // Media Kit Errors STREAM_NOT_FOUND = -2147647264, SERVER_NOT_FOUND = -2147647263, RESOURCE_NOT_FOUND = -2147647262, RESOURCE_UNAVAILABLE = -2147647261, BAD_SUBSCRIBER = -2147647260, SUBSCRIBER_NOT_ENTERED = -2147647259, BUFFER_NOT_AVAILABLE = -2147647258, LAST_BUFFER_ERROR = -2147647257, MEDIA_SYSTEM_FAILURE = -2147647164, MEDIA_BAD_NODE = -2147647163, MEDIA_NODE_BUSY = -2147647162, MEDIA_BAD_FORMAT = -2147647161, MEDIA_BAD_BUFFER = -2147647160, MEDIA_TOO_MANY_NODES = -2147647159, MEDIA_TOO_MANY_BUFFERS = -2147647158, MEDIA_NODE_ALREADY_EXISTS = -2147647157, MEDIA_BUFFER_ALREADY_EXISTS = -2147647156, MEDIA_CANNOT_SEEK = -2147647155, MEDIA_CANNOT_CHANGE_RUN_MODE = -2147647154, MEDIA_APP_ALREADY_REGISTERED = -2147647153, MEDIA_APP_NOT_REGISTERED = -2147647152, MEDIA_CANNOT_RECLAIM_BUFFERS = -2147647151, MEDIA_BUFFERS_NOT_RECLAIMED = -2147647150, MEDIA_TIME_SOURCE_STOPPED = -2147647149, MEDIA_TIME_SOURCE_BUSY = -2147647148, MEDIA_BAD_SOURCE = -2147647147, MEDIA_BAD_DESTINATION = -2147647146, MEDIA_ALREADY_CONNECTED = -2147647145, MEDIA_NOT_CONNECTED = -2147647144, MEDIA_BAD_CLIP_FORMAT = -2147647143, MEDIA_ADDON_FAILED = -2147647142, MEDIA_ADDON_DISABLED = -2147647141, MEDIA_CHANGE_IN_PROGRESS = -2147647140, MEDIA_STALE_CHANGE_COUNT = -2147647139, MEDIA_ADDON_RESTRICTED = -2147647138, MEDIA_NO_HANDLER = -2147647137, MEDIA_DUPLICATE_FORMAT = -2147647136, MEDIA_REALTIME_DISABLED = -2147647135, MEDIA_REALTIME_UNAVAILABLE = -2147647134, // Mail Kit Errors MAIL_NO_DAEMON = -2147540880, MAIL_UNKNOWN_USER = -2147540879, MAIL_WRONG_PASSWORD = -2147540878, MAIL_UNKNOWN_HOST = -2147540877, MAIL_ACCESS_ERROR = -2147540876, MAIL_UNKNOWN_FIELD = -2147540875, MAIL_NO_RECIPIENT = -2147540874, MAIL_INVALID_MAIL = -2147540873, // Printing Errors NO_PRINT_SERVER = -2147446784, // Device Kit Errors DEV_INVALID_IOCTL = -2147442688, DEV_NO_MEMORY = -2147442687, DEV_BAD_DRIVE_NUM = -2147442686, DEV_NO_MEDIA = -2147442685, DEV_UNREADABLE = -2147442684, DEV_FORMAT_ERROR = -2147442683, DEV_TIMEOUT = -2147442682, DEV_RECALIBRATE_ERROR = -2147442681, DEV_SEEK_ERROR = -2147442680, DEV_ID_ERROR = -2147442679, DEV_READ_ERROR = -2147442678, DEV_WRITE_ERROR = -2147442677, DEV_NOT_READY = -2147442676, DEV_MEDIA_CHANGED = -2147442675, DEV_MEDIA_CHANGE_REQUESTED = -2147442674, DEV_RESOURCE_CONFLICT = -2147442673, DEV_CONFIGURATION_ERROR = -2147442672, DEV_DISABLED_BY_USER = -2147442671, DEV_DOOR_OPEN = -2147442670, DEV_INVALID_PIPE = -2147442669, DEV_CRC_ERROR = -2147442668, DEV_STALLED = -2147442667, DEV_BAD_PID = -2147442666, DEV_UNEXPECTED_PID = -2147442665, DEV_DATA_OVERRUN = -2147442664, DEV_DATA_UNDERRUN = -2147442663, DEV_FIFO_OVERRUN = -2147442662, DEV_FIFO_UNDERRUN = -2147442661, DEV_PENDING = -2147442660, DEV_MULTIPLE_ERRORS = -2147442659, DEV_TOO_LATE = -2147442658, // Translation Kit Errors TRANSLATION_BASE_ERROR = -2147645216, NO_TRANSLATOR = -2147645215, ILLEGAL_DATA = -2147645214, }
Related Procedures With Parameters
Related Procedures With Returns
- acquire_sem
- acquire_sem_etc
- close_port
- delete_area
- delete_port
- delete_sem
- find_directory
- find_path
- find_path_etc
- find_path_for_path
- find_path_for_path_etc
- find_paths
- find_paths_etc
- get_cpu_topology_info
- get_cpuid
- get_sem_count
- get_system_info
- kill_team
- kill_thread
- on_exit_thread
- release_sem
- release_sem_etc
- rename_thread
- resize_area
- resume_thread
- send_data
- set_area_protection
- set_port_owner
- set_sem_owner
- set_thread_priority
- snooze
- snooze_etc
- snooze_until
- suspend_thread
- switch_sem
- switch_sem_etc
- write_port
- write_port_etc
address_spec ¶
address_spec :: enum u32 { ANY_ADDRESS = 0, EXACT_ADDRESS = 1, BASE_ADDRESS = 2, CLONE_ADDRESS = 3, ANY_KERNEL_ADDRESS = 4, // ANY_KERNEL_BLOCK_ADDRESS = 5, RANDOMIZED_ANY_ADDRESS = 6, RANDOMIZED_BASE_ADDRESS = 7, }
for create_area() and clone_area()
Related Procedures With Parameters
alarm_mode ¶
alarm_mode :: enum u32 { ONE_SHOT_ABSOLUTE_ALARM = 1, ONE_SHOT_RELATIVE_ALARM, PERIODIC_ALARM, // "when" specifies the period }
Related Procedures With Parameters
area_locking ¶
area_locking :: enum u32 { NO_LOCK = 0, LAZY_LOCK = 1, FULL_LOCK = 2, CONTIGUOUS = 3, LOMEM = 4, // CONTIGUOUS, < 16 MB physical address _32_BIT_FULL_LOCK = 5, // FULL_LOCK, < 4 GB physical addresses _32_BIT_CONTIGUOUS = 6, // CONTIGUOUS, < 4 GB physical address }
Related Procedures With Parameters
area_protection_flag ¶
area_protection_flag :: enum u32 { READ_AREA = 0, WRITE_AREA = 1, EXECUTE_AREA = 2, // "stack" protection is not available on most platforms - it's used // to only commit memory as needed, and have guard pages at the // bottom of the stack. STACK_AREA = 3, CLONEABLE_AREA = 8, }
area_protection_flags ¶
area_protection_flags :: distinct bit_set[area_protection_flag; u32]
Related Procedures With Parameters
bigtime_t ¶
bigtime_t :: i64
blkcnt_t ¶
blkcnt_t :: i64
blksize_t ¶
blksize_t :: i32
clockid_t ¶
clockid_t :: i32
cpu_platform ¶
cpu_platform :: enum i32 { UNKNOWN, x86, x86_64, PPC, PPC_64, M68K, ARM, ARM_64, ALPHA, MIPS, SH, SPARC, RISC_V, }
cpu_topology_node_info ¶
cpu_topology_node_info :: struct { id: u32, type: topology_level_type, level: u32, data: struct #raw_union { _root: struct { platform: cpu_platform, }, _package: struct { vendor: cpu_vendor, cache_line_size: u32, }, _core: struct { model: u32, default_frequency: u64, }, }, }
Related Procedures With Parameters
cpu_vendor ¶
cpu_vendor :: enum i32 { UNKNOWN, AMD, CYRIX, IDT, INTEL, NATIONAL_SEMICONDUCTOR, RISE, TRANSMETA, VIA, IBM, MOTOROLA, NEC, HYGON, SUN, FUJITSU, }
cpuid_info ¶
cpuid_info :: struct #raw_union { eax_0: struct { max_eax: u32, vendor_id: [12]u8, }, eax_1: struct { using _: bit_field u32 { stepping: u32 | 4, model: u32 | 4, family: u32 | 4, type: u32 | 2, reserved_0: u32 | 2, extended_model: u32 | 4, extended_family: u32 | 8, reserved_1: u32 | 4, }, using _: bit_field u32 { brand_index: u32 | 8, clflush: u32 | 8, logical_cpus: u32 | 8, apic_id: u32 | 8, }, features: u32, extended_features: u32, }, eax_2: struct { call_num: u8, cache_descriptors: [15]u8, }, eax_3: struct { reserved: [2]u32, serial_number_high: u32, serial_number_low: u32, }, as_chars: [16]u8, regs: struct { eax: u32, ebx: u32, edx: u32, ecx: u32, }, }
Related Procedures With Parameters
directory_which ¶
directory_which :: enum i32 { // Per volume directories DESKTOP_DIRECTORY = 0, TRASH_DIRECTORY, // System directories SYSTEM_DIRECTORY = 1000, SYSTEM_ADDONS_DIRECTORY = 1002, SYSTEM_BOOT_DIRECTORY, SYSTEM_FONTS_DIRECTORY, SYSTEM_LIB_DIRECTORY, SYSTEM_SERVERS_DIRECTORY, SYSTEM_APPS_DIRECTORY, SYSTEM_BIN_DIRECTORY, SYSTEM_DOCUMENTATION_DIRECTORY = 1010, SYSTEM_PREFERENCES_DIRECTORY, SYSTEM_TRANSLATORS_DIRECTORY, SYSTEM_MEDIA_NODES_DIRECTORY, SYSTEM_SOUNDS_DIRECTORY, SYSTEM_DATA_DIRECTORY, SYSTEM_DEVELOP_DIRECTORY, SYSTEM_PACKAGES_DIRECTORY, SYSTEM_HEADERS_DIRECTORY, SYSTEM_ETC_DIRECTORY = 2008, SYSTEM_SETTINGS_DIRECTORY = 2010, SYSTEM_LOG_DIRECTORY = 2012, SYSTEM_SPOOL_DIRECTORY, SYSTEM_TEMP_DIRECTORY, SYSTEM_VAR_DIRECTORY, SYSTEM_CACHE_DIRECTORY = 2020, SYSTEM_NONPACKAGED_DIRECTORY = 2023, SYSTEM_NONPACKAGED_ADDONS_DIRECTORY, SYSTEM_NONPACKAGED_TRANSLATORS_DIRECTORY, SYSTEM_NONPACKAGED_MEDIA_NODES_DIRECTORY, SYSTEM_NONPACKAGED_BIN_DIRECTORY, SYSTEM_NONPACKAGED_DATA_DIRECTORY, SYSTEM_NONPACKAGED_FONTS_DIRECTORY, SYSTEM_NONPACKAGED_SOUNDS_DIRECTORY, SYSTEM_NONPACKAGED_DOCUMENTATION_DIRECTORY, SYSTEM_NONPACKAGED_LIB_DIRECTORY, SYSTEM_NONPACKAGED_HEADERS_DIRECTORY, SYSTEM_NONPACKAGED_DEVELOP_DIRECTORY, // User directories. These are interpreted in the context of the user making the find_directory call. USER_DIRECTORY = 3000, USER_CONFIG_DIRECTORY, USER_ADDONS_DIRECTORY, USER_BOOT_DIRECTORY, USER_FONTS_DIRECTORY, USER_LIB_DIRECTORY, USER_SETTINGS_DIRECTORY, USER_DESKBAR_DIRECTORY, USER_PRINTERS_DIRECTORY, USER_TRANSLATORS_DIRECTORY, USER_MEDIA_NODES_DIRECTORY, USER_SOUNDS_DIRECTORY, USER_DATA_DIRECTORY, USER_CACHE_DIRECTORY, USER_PACKAGES_DIRECTORY, USER_HEADERS_DIRECTORY, USER_NONPACKAGED_DIRECTORY, USER_NONPACKAGED_ADDONS_DIRECTORY, USER_NONPACKAGED_TRANSLATORS_DIRECTORY, USER_NONPACKAGED_MEDIA_NODES_DIRECTORY, USER_NONPACKAGED_BIN_DIRECTORY, USER_NONPACKAGED_DATA_DIRECTORY, USER_NONPACKAGED_FONTS_DIRECTORY, USER_NONPACKAGED_SOUNDS_DIRECTORY, USER_NONPACKAGED_DOCUMENTATION_DIRECTORY, USER_NONPACKAGED_LIB_DIRECTORY, USER_NONPACKAGED_HEADERS_DIRECTORY, USER_NONPACKAGED_DEVELOP_DIRECTORY, USER_DEVELOP_DIRECTORY, USER_DOCUMENTATION_DIRECTORY, USER_SERVERS_DIRECTORY, USER_APPS_DIRECTORY, USER_BIN_DIRECTORY, USER_PREFERENCES_DIRECTORY, USER_ETC_DIRECTORY, USER_LOG_DIRECTORY, USER_SPOOL_DIRECTORY, USER_VAR_DIRECTORY, // Global directories APPS_DIRECTORY = 4000, PREFERENCES_DIRECTORY, UTILITIES_DIRECTORY, PACKAGE_LINKS_DIRECTORY, // Obsolete: Legacy BeOS definition to be phased out BEOS_DIRECTORY = 1000, BEOS_SYSTEM_DIRECTORY, BEOS_ADDONS_DIRECTORY, BEOS_BOOT_DIRECTORY, BEOS_FONTS_DIRECTORY, BEOS_LIB_DIRECTORY, BEOS_SERVERS_DIRECTORY, BEOS_APPS_DIRECTORY, BEOS_BIN_DIRECTORY, BEOS_ETC_DIRECTORY, BEOS_DOCUMENTATION_DIRECTORY, BEOS_PREFERENCES_DIRECTORY, BEOS_TRANSLATORS_DIRECTORY, BEOS_MEDIA_NODES_DIRECTORY, BEOS_SOUNDS_DIRECTORY, }
Related Procedures With Parameters
find_path_flag ¶
find_path_flag :: enum u32 { CREATE_DIRECTORY = 0, CREATE_PARENT_DIRECTORY = 1, EXISTING_ONLY = 2, // find_paths() only SYSTEM_ONLY = 4, USER_ONLY = 5, }
find_path_flags ¶
find_path_flags :: distinct bit_set[find_path_flag; u32]
Related Procedures With Parameters
fsblkcnt_t ¶
fsblkcnt_t :: i64
fsfilcnt_t ¶
fsfilcnt_t :: i64
generic_addr_t ¶
generic_addr_t :: uintptr
generic_size_t ¶
generic_size_t :: uintptr
image_id ¶
image_id :: i32
nanotime_t ¶
nanotime_t :: i64
path_base_directory ¶
path_base_directory :: enum i32 { INSTALLATION_LOCATION_DIRECTORY, ADD_ONS_DIRECTORY, APPS_DIRECTORY, BIN_DIRECTORY, BOOT_DIRECTORY, CACHE_DIRECTORY, DATA_DIRECTORY, DEVELOP_DIRECTORY, DEVELOP_LIB_DIRECTORY, DOCUMENTATION_DIRECTORY, ETC_DIRECTORY, FONTS_DIRECTORY, HEADERS_DIRECTORY, LIB_DIRECTORY, LOG_DIRECTORY, MEDIA_NODES_DIRECTORY, PACKAGES_DIRECTORY, PREFERENCES_DIRECTORY, SERVERS_DIRECTORY, SETTINGS_DIRECTORY, SOUNDS_DIRECTORY, SPOOL_DIRECTORY, TRANSLATORS_DIRECTORY, VAR_DIRECTORY, // find_path() only IMAGE_PATH = 1000, PACKAGE_PATH, }
Related Procedures With Parameters
perform_code ¶
perform_code :: u32
phys_addr_t ¶
phys_addr_t :: uintptr
phys_size_t ¶
phys_size_t :: uintptr
port_flag ¶
port_flag :: enum u32 { USE_USER_MEMCPY = 31, // read the message, but don't remove it; kernel-only; memory must be locked PEEK_PORT_MESSAGE = 8, }
port_flags ¶
Related Procedures With Parameters
pthread_t ¶
pthread_t :: rawptr
semaphore_flag ¶
semaphore_flag :: enum u32 { CAN_INTERRUPT = 0, // acquisition of the semaphore can be interrupted (system use only) CHECK_PERMISSION = 2, // ownership will be checked (system use only) KILL_CAN_INTERRUPT = 5, // acquisition of the semaphore can be interrupted by SIGKILL[THR], even if not CAN_INTERRUPT (system use only) // release_sem_etc() only flags DO_NOT_RESCHEDULE = 1, // thread is not rescheduled RELEASE_ALL = 3, // all waiting threads will be woken up, count will be zeroed RELEASE_IF_WAITING_ONLY = 4, // release count only if there are any threads waiting }
semaphore_flags ¶
semaphore_flags :: distinct bit_set[semaphore_flag; u32]
Related Procedures With Parameters
sig_atomic_t ¶
sig_atomic_t :: i32
sigset_t ¶
sigset_t :: u64
status_t ¶
status_t :: Errno
system_info ¶
system_info :: struct { boot_time: i64, // time of boot (usecs since 1/1/1970) cpu_count: u32, // number of cpus max_pages: u64, // total # of accessible pages used_pages: u64, // # of accessible pages in use cached_pages: u64, block_cache_pages: u64, ignored_pages: u64, // # of ignored/inaccessible pages needed_memory: u64, free_memory: u64, max_swap_pages: u64, free_swap_pages: u64, page_faults: u32, // # of page faults max_sems: u32, used_sems: u32, max_ports: u32, used_ports: u32, max_threads: u32, used_threads: u32, max_teams: u32, used_teams: u32, kernel_name: [256]u8, kernel_build_date: [32]u8, kernel_build_time: [32]u8, kernel_version: i64, abi: u32, }
Related Procedures With Parameters
team_info ¶
team_info :: struct { team: i32, thread_count: i32, image_count: i32, area_count: i32, debugger_nub_thread: i32, debugger_nub_port: i32, argc: i32, args: [64]u8, uid: u32, gid: u32, // Haiku R1 extensions real_uid: u32, real_gid: u32, group_id: i32, session_id: i32, parent: i32, name: [32]u8, start_time: i64, }
team_usage_who ¶
team_usage_who :: enum i32 { // compatible to sys/resource.h RUSAGE_SELF and RUSAGE_CHILDREN SELF = 0, CHILDREN = -1, }
thread_id ¶
thread_id :: i32
thread_info ¶
thread_info :: struct { thread: i32, team: i32, name: [32]u8, state: thread_state, priority: thread_priority, sem: i32, user_time: i64, kernel_time: i64, stack_base: rawptr, stack_end: rawptr, }
thread_priority ¶
thread_priority :: enum i32 { IDLE_PRIORITY = 0, LOWEST_ACTIVE_PRIORITY = 1, LOW_PRIORITY = 5, NORMAL_PRIORITY = 10, DISPLAY_PRIORITY = 15, URGENT_DISPLAY_PRIORITY = 20, REAL_TIME_DISPLAY_PRIORITY = 100, URGENT_PRIORITY = 110, REAL_TIME_PRIORITY = 120, }
Related Procedures With Parameters
Related Constants
thread_state ¶
thread_state :: enum i32 { RUNNING = 1, READY, RECEIVING, ASLEEP, SUSPENDED, WAITING, }
topology_level_type ¶
topology_level_type :: enum i32 { UNKNOWN, ROOT, SMT, CORE, PACKAGE, }
type_code ¶
type_code :: u32
Constants
APP_ERROR_BASE ¶
APP_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x2000
APP_IMAGE_SYMBOL ¶
APP_IMAGE_SYMBOL :: rawptr(addr_t(0))
value that can be used instead of a pointer to a symbol in the program image
CURRENT_TEAM ¶
CURRENT_TEAM :: 0
DEVICE_ERROR_BASE ¶
DEVICE_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0xA000
ERRORS_END ¶
ERRORS_END: i32 : GENERAL_ERROR_BASE + 0xFFFF
Developer-defined errors start at (ERRORS_END+1)
FILE_NAME_LENGTH ¶
FILE_NAME_LENGTH :: NAME_MAX
FIRST_REAL_TIME_PRIORITY ¶
FIRST_REAL_TIME_PRIORITY :: thread_priority.REAL_TIME_PRIORITY
INTERFACE_ERROR_BASE ¶
INTERFACE_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x3000
MAIL_ERROR_BASE ¶
MAIL_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x8000
MAXPATHLEN ¶
MAXPATHLEN :: PATH_MAX
MEDIA_ERROR_BASE ¶
MEDIA_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x4000
MIDI_ERROR_BASE ¶
MIDI_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x5000
NAME_MAX ¶
NAME_MAX :: 256
OS_ERROR_BASE ¶
OS_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x1000
OS_NAME_LENGTH ¶
OS_NAME_LENGTH :: 32
PATH_MAX ¶
PATH_MAX :: 1024
PATH_NAME_LENGTH ¶
PATH_NAME_LENGTH :: MAXPATHLEN
POSIX_ERROR_BASE ¶
POSIX_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x7000
POSIX_ERROR_FACTOR ¶
POSIX_ERROR_FACTOR :: posix._POSIX_ERROR_FACTOR
PRINT_ERROR_BASE ¶
PRINT_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x9000
STORAGE_ERROR_BASE ¶
STORAGE_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x6000
SYSTEM_TEAM ¶
SYSTEM_TEAM :: 1
SYSTEM_TIMEBASE ¶
SYSTEM_TIMEBASE :: 0
time base for snooze_*(), compatible with the clockid_t constants defined in <time.h>
TRANSLATION_ERROR_BASE ¶
TRANSLATION_ERROR_BASE: i32 : GENERAL_ERROR_BASE + 0x4800
USE_POSITIVE_POSIX_ERRORS ¶
USE_POSITIVE_POSIX_ERRORS :: posix._HAIKU_USE_POSITIVE_POSIX_ERRORS
Variables
This section is empty.
Procedures
acquire_sem_etc ¶
acquire_sem_etc :: proc "c" (id: i32, count: i32, flags: semaphore_flags, timeout: i64) -> Errno ---
clone_area ¶
clone_area :: proc "c" (name: cstring, destAddress: ^rawptr, addressSpec: address_spec, protection: area_protection_flags, source: i32) -> i32 ---
create_area ¶
create_area :: proc "c" ( name: cstring, startAddress: ^rawptr, addressSpec: address_spec, size: uint, lock: area_locking, protection: area_protection_flags, ) -> i32 ---
current_image_symbol ¶
current_image_symbol :: proc "contextless" () -> rawptr {…}
pointer to a symbol in the callers image (same as B_CURRENT_IMAGE_SYMBOL)
debugger ¶
debugger :: proc "c" (message: cstring) ---
disable_debugger ¶
calling this function with a non-zero value will cause your thread to receive signals for any exceptional conditions that occur (i.e. you'll get SIGSEGV for data access exceptions, SIGFPE for floating point errors, SIGILL for illegal instructions, etc).
to re-enable the default debugger pass a zero.
exit_thread ¶
exit_thread :: proc "c" (status: Errno) ---
find_path_etc ¶
find_path_etc :: proc "c" ( codePointer: rawptr, dependency: cstring, architecture: cstring, baseDirectory: path_base_directory, subPath: cstring, flags: find_path_flags, pathBuffer: [^]u8, bufferSize: uint, ) -> Errno ---
find_path_for_path_etc ¶
find_path_for_path_etc :: proc "c" ( path: cstring, dependency: cstring, architecture: cstring, baseDirectory: path_base_directory, subPath: cstring, flags: find_path_flags, pathBuffer: [^]u8, bufferSize: uint, ) -> Errno ---
find_paths ¶
find_paths :: proc "c" (baseDirectory: path_base_directory, subPath: cstring, _paths: ^[^][^]u8, _pathCount: ^uint) -> Errno ---
find_paths_etc ¶
find_paths_etc :: proc "c" ( architecture: cstring, baseDirectory: path_base_directory, subPath: cstring, flags: find_path_flags, _paths: ^[^][^]u8, _pathCount: ^uint, ) -> Errno ---
get_cpu_topology_info ¶
get_cpu_topology_info :: proc "c" (topologyInfos: [^]cpu_topology_node_info, topologyInfoCount: ^u32) -> Errno ---
get_cpuid ¶
get_cpuid :: proc "c" (info: ^cpuid_info, eaxRegister: u32, cpuNum: u32) -> Errno ---
get_pthread_thread_id ¶
bridge to the pthread API
get_system_info ¶
get_system_info :: proc "c" (info: ^system_info) -> Errno ---
is_computer_on ¶
is_computer_on :: proc "c" () -> i32 ---
is_computer_on_fire ¶
is_computer_on_fire :: proc "c" () -> f64 ---
port_buffer_size_etc ¶
port_buffer_size_etc :: proc "c" (port: i32, flags: port_flags, timeout: i64) -> int ---
real_time_clock ¶
real_time_clock :: proc "c" () -> uint ---
real_time_clock_usecs ¶
real_time_clock_usecs :: proc "c" () -> i64 ---
release_sem_etc ¶
release_sem_etc :: proc "c" (id: i32, count: i32, flags: semaphore_flags) -> Errno ---
set_alarm ¶
set_alarm :: proc "c" (_when: i64, mode: alarm_mode) -> i64 ---
set_area_protection ¶
set_area_protection :: proc "c" (id: i32, newProtection: area_protection_flags) -> Errno ---
set_real_time_clock ¶
set_real_time_clock :: proc "c" (secsSinceJan1st1970: uint) ---
set_thread_priority ¶
set_thread_priority :: proc "c" (thread: i32, newPriority: thread_priority) -> Errno ---
sigtimedwait ¶
snooze_etc ¶
FIXME: Find and define those flags.
spawn_thread ¶
spawn_thread :: proc "c" (thread_func, name: cstring, priority: thread_priority, data: rawptr) -> i32 ---
wait_for_thread_etc ¶
wait_for_thread_etc :: proc "c" (id: i32, flags: u32, timeout: i64, _returnCode: ^Errno) -> Errno ---
FIXME: Find and define those flags.
Procedure Groups
This section is empty.
Source Files
Generation Information
Generated with odin version dev-2025-01 (vendor "odin") Windows_amd64 @ 2025-01-20 21:11:03.762153500 +0000 UTC