sysconf_posix.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // Copyright 2018 Tobias Klauser. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. //go:build darwin || dragonfly || freebsd || linux || openbsd
  5. // +build darwin dragonfly freebsd linux openbsd
  6. package sysconf
  7. func sysconfPOSIX(name int) (int64, error) {
  8. switch name {
  9. case SC_ADVISORY_INFO:
  10. return _POSIX_ADVISORY_INFO, nil
  11. case SC_ASYNCHRONOUS_IO:
  12. return _POSIX_ASYNCHRONOUS_IO, nil
  13. case SC_BARRIERS:
  14. return _POSIX_BARRIERS, nil
  15. case SC_CLOCK_SELECTION:
  16. return _POSIX_CLOCK_SELECTION, nil
  17. case SC_CPUTIME:
  18. return _POSIX_CPUTIME, nil
  19. case SC_FSYNC:
  20. return _POSIX_FSYNC, nil
  21. case SC_IPV6:
  22. return _POSIX_IPV6, nil
  23. case SC_JOB_CONTROL:
  24. return _POSIX_JOB_CONTROL, nil
  25. case SC_MAPPED_FILES:
  26. return _POSIX_MAPPED_FILES, nil
  27. case SC_MEMLOCK:
  28. return _POSIX_MEMLOCK, nil
  29. case SC_MEMLOCK_RANGE:
  30. return _POSIX_MEMLOCK_RANGE, nil
  31. case SC_MONOTONIC_CLOCK:
  32. return _POSIX_MONOTONIC_CLOCK, nil
  33. case SC_MEMORY_PROTECTION:
  34. return _POSIX_MEMORY_PROTECTION, nil
  35. case SC_MESSAGE_PASSING:
  36. return _POSIX_MESSAGE_PASSING, nil
  37. case SC_PRIORITIZED_IO:
  38. return _POSIX_PRIORITIZED_IO, nil
  39. case SC_PRIORITY_SCHEDULING:
  40. return _POSIX_PRIORITY_SCHEDULING, nil
  41. case SC_RAW_SOCKETS:
  42. return _POSIX_RAW_SOCKETS, nil
  43. case SC_READER_WRITER_LOCKS:
  44. return _POSIX_READER_WRITER_LOCKS, nil
  45. case SC_REALTIME_SIGNALS:
  46. return _POSIX_REALTIME_SIGNALS, nil
  47. case SC_REGEXP:
  48. return _POSIX_REGEXP, nil
  49. case SC_SEMAPHORES:
  50. return _POSIX_SEMAPHORES, nil
  51. case SC_SHARED_MEMORY_OBJECTS:
  52. return _POSIX_SHARED_MEMORY_OBJECTS, nil
  53. case SC_SHELL:
  54. return _POSIX_SHELL, nil
  55. case SC_THREADS:
  56. return _POSIX_THREADS, nil
  57. case SC_TIMEOUTS:
  58. return _POSIX_TIMEOUTS, nil
  59. case SC_TIMERS:
  60. return _POSIX_TIMERS, nil
  61. case SC_VERSION:
  62. return _POSIX_VERSION, nil
  63. case SC_2_C_BIND:
  64. return _POSIX2_C_BIND, nil
  65. case SC_2_C_DEV:
  66. return _POSIX2_C_DEV, nil
  67. case SC_2_FORT_DEV:
  68. return -1, nil
  69. case SC_2_FORT_RUN:
  70. return -1, nil
  71. case SC_2_LOCALEDEF:
  72. return _POSIX2_LOCALEDEF, nil
  73. case SC_2_SW_DEV:
  74. return _POSIX2_SW_DEV, nil
  75. case SC_2_VERSION:
  76. return _POSIX2_VERSION, nil
  77. }
  78. return -1, errInvalid
  79. }