process_linux.odin 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //+private file
  2. package os2
  3. import "base:runtime"
  4. import "core:time"
  5. import "core:sys/linux"
  6. @(private="package")
  7. _exit :: proc "contextless" (code: int) -> ! {
  8. linux.exit(i32(code))
  9. }
  10. @(private="package")
  11. _get_uid :: proc() -> int {
  12. return -1
  13. }
  14. @(private="package")
  15. _get_euid :: proc() -> int {
  16. return -1
  17. }
  18. @(private="package")
  19. _get_gid :: proc() -> int {
  20. return -1
  21. }
  22. @(private="package")
  23. _get_egid :: proc() -> int {
  24. return -1
  25. }
  26. @(private="package")
  27. _get_pid :: proc() -> int {
  28. return -1
  29. }
  30. @(private="package")
  31. _get_ppid :: proc() -> int {
  32. return -1
  33. }
  34. @(private="package")
  35. _process_list :: proc(allocator: runtime.Allocator) -> (list: []int, err: Error) {
  36. return
  37. }
  38. @(private="package")
  39. _process_info_by_pid :: proc(pid: int, selection: Process_Info_Fields, allocator: runtime.Allocator) -> (info: Process_Info, err: Error) {
  40. return
  41. }
  42. @(private="package")
  43. _process_info_by_handle :: proc(process: Process, selection: Process_Info_Fields, allocator: runtime.Allocator) -> (info: Process_Info, err: Error) {
  44. return
  45. }
  46. @(private="package")
  47. _current_process_info :: proc(selection: Process_Info_Fields, allocator: runtime.Allocator) -> (info: Process_Info, err: Error) {
  48. return
  49. }
  50. @(private="package")
  51. _process_open :: proc(pid: int, flags: Process_Open_Flags) -> (process: Process, err: Error) {
  52. return
  53. }
  54. @(private="package")
  55. _Sys_Process_Attributes :: struct {}
  56. @(private="package")
  57. _process_start :: proc(desc: Process_Desc) -> (process: Process, err: Error) {
  58. return
  59. }
  60. @(private="package")
  61. _process_wait :: proc(process: Process, timeout: time.Duration) -> (process_state: Process_State, err: Error) {
  62. return
  63. }
  64. @(private="package")
  65. _process_close :: proc(process: Process) -> Error {
  66. return nil
  67. }
  68. @(private="package")
  69. _process_kill :: proc(process: Process) -> Error {
  70. return nil
  71. }
  72. @(private="package")
  73. _process_exe_by_pid :: proc(pid: int, allocator: runtime.Allocator) -> (exe_path: string, err: Error) {
  74. return
  75. }