modernc.org/libc@v1.24.1/unistd/unistd_windows_arm64.go (about)

     1  // Code generated by 'ccgo unistd\gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd\unistd_windows_arm64.go -pkgname unistd', DO NOT EDIT.
     2  
     3  package unistd
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  )
    11  
    12  var _ = math.Pi
    13  var _ reflect.Kind
    14  var _ atomic.Value
    15  var _ unsafe.Pointer
    16  
    17  const (
    18  	DUMMYSTRUCTNAME                                 = 0
    19  	DUMMYSTRUCTNAME1                                = 0
    20  	DUMMYSTRUCTNAME2                                = 0
    21  	DUMMYSTRUCTNAME3                                = 0
    22  	DUMMYSTRUCTNAME4                                = 0
    23  	DUMMYSTRUCTNAME5                                = 0
    24  	DUMMYUNIONNAME                                  = 0
    25  	DUMMYUNIONNAME1                                 = 0
    26  	DUMMYUNIONNAME2                                 = 0
    27  	DUMMYUNIONNAME3                                 = 0
    28  	DUMMYUNIONNAME4                                 = 0
    29  	DUMMYUNIONNAME5                                 = 0
    30  	DUMMYUNIONNAME6                                 = 0
    31  	DUMMYUNIONNAME7                                 = 0
    32  	DUMMYUNIONNAME8                                 = 0
    33  	DUMMYUNIONNAME9                                 = 0
    34  	FTRUNCATE_DEFINED                               = 0
    35  	F_OK                                            = 0
    36  	MINGW_DDK_H                                     = 0
    37  	MINGW_HAS_DDK_H                                 = 1
    38  	MINGW_HAS_SECURE_API                            = 1
    39  	MINGW_SDK_INIT                                  = 0
    40  	OLD_P_OVERLAY                                   = 2
    41  	P_DETACH                                        = 4
    42  	P_NOWAIT                                        = 1
    43  	P_NOWAITO                                       = 3
    44  	P_OVERLAY                                       = 2
    45  	P_WAIT                                          = 0
    46  	R_OK                                            = 4
    47  	SEEK_CUR                                        = 1
    48  	SEEK_END                                        = 2
    49  	SEEK_SET                                        = 0
    50  	STDERR_FILENO                                   = 2
    51  	STDIN_FILENO                                    = 0
    52  	STDOUT_FILENO                                   = 1
    53  	UNALIGNED                                       = 0
    54  	USE___UUIDOF                                    = 0
    55  	WAIT_CHILD                                      = 0
    56  	WAIT_GRANDCHILD                                 = 1
    57  	WIN32                                           = 1
    58  	WIN64                                           = 1
    59  	WINNT                                           = 1
    60  	WIN_PTHREADS_UNISTD_H                           = 0
    61  	W_OK                                            = 2
    62  	X_OK                                            = 1
    63  	X_AGLOBAL                                       = 0
    64  	X_ANONYMOUS_STRUCT                              = 0
    65  	X_ANONYMOUS_UNION                               = 0
    66  	X_ARGMAX                                        = 100
    67  	X_ARM64_                                        = 1
    68  	X_A_ARCH                                        = 0x20
    69  	X_A_HIDDEN                                      = 0x02
    70  	X_A_NORMAL                                      = 0x00
    71  	X_A_RDONLY                                      = 0x01
    72  	X_A_SUBDIR                                      = 0x10
    73  	X_A_SYSTEM                                      = 0x04
    74  	X_CONST_RETURN                                  = 0
    75  	X_CRTNOALIAS                                    = 0
    76  	X_CRTRESTRICT                                   = 0
    77  	X_CRT_ALTERNATIVE_IMPORTED                      = 0
    78  	X_CRT_DIRECTORY_DEFINED                         = 0
    79  	X_CRT_GETPID_DEFINED                            = 0
    80  	X_CRT_MANAGED_HEAP_DEPRECATE                    = 0
    81  	X_CRT_MEMORY_DEFINED                            = 0
    82  	X_CRT_PACKING                                   = 8
    83  	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES          = 0
    84  	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY   = 0
    85  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES        = 0
    86  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT  = 0
    87  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
    88  	X_CRT_SWAB_DEFINED                              = 0
    89  	X_CRT_SYSTEM_DEFINED                            = 0
    90  	X_CRT_TERMINATE_DEFINED                         = 0
    91  	X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP             = 0
    92  	X_CRT_WSYSTEM_DEFINED                           = 0
    93  	X_DEV_T_DEFINED                                 = 0
    94  	X_DLL                                           = 0
    95  	X_ERRCODE_DEFINED                               = 0
    96  	X_FILE_OFFSET_BITS                              = 64
    97  	X_FILE_OFFSET_BITS_SET_FTRUNCATE                = 0
    98  	X_FILE_OFFSET_BITS_SET_LSEEK                    = 0
    99  	X_FILE_OFFSET_BITS_SET_OFFT                     = 0
   100  	X_FINDDATA_T_DEFINED                            = 0
   101  	X_FSIZE_T_DEFINED                               = 0
   102  	X_INC_CORECRT                                   = 0
   103  	X_INC_CORECRT_STARTUP                           = 0
   104  	X_INC_CRTDEFS                                   = 0
   105  	X_INC_CRTDEFS_MACRO                             = 0
   106  	X_INC_MINGW_SECAPI                              = 0
   107  	X_INC_PROCESS                                   = 0
   108  	X_INC_STRING                                    = 0
   109  	X_INC_STRING_S                                  = 0
   110  	X_INC_TYPES                                     = 0
   111  	X_INC_VADEFS                                    = 0
   112  	X_INC__MINGW_H                                  = 0
   113  	X_INO_T_DEFINED                                 = 0
   114  	X_INT128_DEFINED                                = 0
   115  	X_INTPTR_T_DEFINED                              = 0
   116  	X_IO_H_                                         = 0
   117  	X_MODE_T_                                       = 0
   118  	X_MT                                            = 0
   119  	X_M_ARM64                                       = 1
   120  	X_NLSCMPERROR                                   = 2147483647
   121  	X_NLSCMP_DEFINED                                = 0
   122  	X_OFF64_T_DEFINED                               = 0
   123  	X_OFF_T_                                        = 0
   124  	X_OFF_T_DEFINED                                 = 0
   125  	X_OLD_P_OVERLAY                                 = 2
   126  	X_PGLOBAL                                       = 0
   127  	X_PID_T_                                        = 0
   128  	X_POSIX_BARRIERS                                = 200112
   129  	X_POSIX_CLOCK_SELECTION                         = 200112
   130  	X_POSIX_READER_WRITER_LOCKS                     = 200112
   131  	X_POSIX_SEMAPHORES                              = 200112
   132  	X_POSIX_SPIN_LOCKS                              = 200112
   133  	X_POSIX_THREADS                                 = 200112
   134  	X_POSIX_TIMEOUTS                                = 200112
   135  	X_PTRDIFF_T_                                    = 0
   136  	X_PTRDIFF_T_DEFINED                             = 0
   137  	X_P_DETACH                                      = 4
   138  	X_P_NOWAIT                                      = 1
   139  	X_P_NOWAITO                                     = 3
   140  	X_P_OVERLAY                                     = 2
   141  	X_P_WAIT                                        = 0
   142  	X_RSIZE_T_DEFINED                               = 0
   143  	X_SECURECRT_FILL_BUFFER_PATTERN                 = 0xFD
   144  	X_SIGSET_T_                                     = 0
   145  	X_SIZE_T_DEFINED                                = 0
   146  	X_SPAWNV_DEFINED                                = 0
   147  	X_SSIZE_T_DEFINED                               = 0
   148  	X_TAGLC_ID_DEFINED                              = 0
   149  	X_THREADLOCALEINFO                              = 0
   150  	X_TIME32_T_DEFINED                              = 0
   151  	X_TIME64_T_DEFINED                              = 0
   152  	X_TIMESPEC_DEFINED                              = 0
   153  	X_TIME_T_DEFINED                                = 0
   154  	X_UCRT                                          = 0
   155  	X_UINTPTR_T_DEFINED                             = 0
   156  	X_UNISTD_H                                      = 0
   157  	X_VA_LIST_DEFINED                               = 0
   158  	X_W64                                           = 0
   159  	X_WAIT_CHILD                                    = 0
   160  	X_WAIT_GRANDCHILD                               = 1
   161  	X_WCHAR_T_DEFINED                               = 0
   162  	X_WCTYPE_T_DEFINED                              = 0
   163  	X_WConst_return                                 = 0
   164  	X_WEXEC_DEFINED                                 = 0
   165  	X_WFINDDATA_T_DEFINED                           = 0
   166  	X_WIN32                                         = 1
   167  	X_WIN32_WINNT                                   = 0x601
   168  	X_WIN64                                         = 1
   169  	X_WINT_T                                        = 0
   170  	X_WIO_DEFINED                                   = 0
   171  	X_WSPAWN_DEFINED                                = 0
   172  	X_WSTRING_DEFINED                               = 0
   173  	X_WSTRING_S_DEFINED                             = 0
   174  )
   175  
   176  type Ptrdiff_t = int64 /* <builtin>:3:26 */
   177  
   178  type Size_t = uint64 /* <builtin>:9:23 */
   179  
   180  type Wchar_t = uint16 /* <builtin>:15:24 */
   181  
   182  type X__int128_t = struct {
   183  	Flo int64
   184  	Fhi int64
   185  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
   186  type X__uint128_t = struct {
   187  	Flo uint64
   188  	Fhi uint64
   189  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
   190  
   191  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
   192  type X__float128 = float64        /* <builtin>:47:21 */
   193  
   194  type Va_list = X__builtin_va_list /* <builtin>:50:27 */
   195  
   196  // *
   197  // This file has no copyright assigned and is placed in the Public Domain.
   198  // This file is part of the mingw-w64 runtime package.
   199  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   200  
   201  // *
   202  // This file has no copyright assigned and is placed in the Public Domain.
   203  // This file is part of the mingw-w64 runtime package.
   204  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   205  
   206  // *
   207  // This file has no copyright assigned and is placed in the Public Domain.
   208  // This file is part of the mingw-w64 runtime package.
   209  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   210  
   211  // *
   212  // This file has no copyright assigned and is placed in the Public Domain.
   213  // This file is part of the mingw-w64 runtime package.
   214  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   215  
   216  // *
   217  // This file has no copyright assigned and is placed in the Public Domain.
   218  // This file is part of the mingw-w64 runtime package.
   219  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   220  
   221  // *
   222  // This file has no copyright assigned and is placed in the Public Domain.
   223  // This file is part of the mingw-w64 runtime package.
   224  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   225  
   226  // This macro holds an monotonic increasing value, which indicates
   227  //    a specific fix/patch is present on trunk.  This value isn't related to
   228  //    minor/major version-macros.  It is increased on demand, if a big
   229  //    fix was applied to trunk.  This macro gets just increased on trunk.  For
   230  //    other branches its value won't be modified.
   231  
   232  // mingw.org's version macros: these make gcc to define
   233  //    MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
   234  //    and the __mingwthr_key_dtor() function from the MinGW
   235  //    CRT in its private gthr-win32.h header.
   236  
   237  // Set VC specific compiler target macros.
   238  
   239  // MS does not prefix symbols by underscores for 64-bit.
   240  // As we have to support older gcc version, which are using underscores
   241  //       as symbol prefix for x64, we have to check here for the user label
   242  //       prefix defined by gcc.
   243  
   244  // Special case nameless struct/union.
   245  
   246  // MinGW-w64 has some additional C99 printf/scanf feature support.
   247  //    So we add some helper macros to ease recognition of them.
   248  
   249  // If _FORTIFY_SOURCE is enabled, some inline functions may use
   250  //    __builtin_va_arg_pack().  GCC may report an error if the address
   251  //    of such a function is used.  Set _FORTIFY_VA_ARG=0 in this case.
   252  
   253  // Enable workaround for ABI incompatibility on affected platforms
   254  
   255  // *
   256  // This file has no copyright assigned and is placed in the Public Domain.
   257  // This file is part of the mingw-w64 runtime package.
   258  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   259  
   260  // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
   261  // Templates won't work in C, will break if secure API is not enabled, disabled
   262  
   263  // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
   264  // fallback on default implementation if we can't know the size of the destination
   265  
   266  // Include _cygwin.h if we're building a Cygwin application.
   267  
   268  // Target specific macro replacement for type "long".  In the Windows API,
   269  //    the type long is always 32 bit, even if the target is 64 bit (LLP64).
   270  //    On 64 bit Cygwin, the type long is 64 bit (LP64).  So, to get the right
   271  //    sized definitions and declarations, all usage of type long in the Windows
   272  //    headers have to be replaced by the below defined macro __LONG32.
   273  
   274  // C/C++ specific language defines.
   275  
   276  // Note the extern. This is needed to work around GCC's
   277  // limitations in handling dllimport attribute.
   278  
   279  // Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
   280  //    variadiac macro facility, because variadic macros cause syntax
   281  //    errors with  --traditional-cpp.
   282  
   283  //  High byte is the major version, low byte is the minor.
   284  
   285  // Allow both 0x1400 and 0xE00 to identify UCRT
   286  
   287  // ===-------- vadefs.h ---------------------------------------------------===
   288  //
   289  // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
   290  // See https://llvm.org/LICENSE.txt for license information.
   291  // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
   292  //
   293  //===-----------------------------------------------------------------------===
   294  
   295  // Only include this if we are aiming for MSVC compatibility.
   296  // *
   297  // This file has no copyright assigned and is placed in the Public Domain.
   298  // This file is part of the mingw-w64 runtime package.
   299  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   300  
   301  // *
   302  // This file has no copyright assigned and is placed in the Public Domain.
   303  // This file is part of the mingw-w64 runtime package.
   304  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   305  
   306  // for backward compatibility
   307  
   308  type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
   309  
   310  type Ssize_t = int64 /* corecrt.h:45:35 */
   311  
   312  type Rsize_t = Size_t /* corecrt.h:52:16 */
   313  
   314  type Intptr_t = int64 /* corecrt.h:62:35 */
   315  
   316  type Uintptr_t = uint64 /* corecrt.h:75:44 */
   317  
   318  type Wint_t = uint16   /* corecrt.h:106:24 */
   319  type Wctype_t = uint16 /* corecrt.h:107:24 */
   320  
   321  type Errno_t = int32 /* corecrt.h:113:13 */
   322  
   323  type X__time32_t = int32 /* corecrt.h:118:14 */
   324  
   325  type X__time64_t = int64 /* corecrt.h:123:35 */
   326  
   327  type Time_t = X__time64_t /* corecrt.h:138:20 */
   328  
   329  type Threadlocaleinfostruct = struct {
   330  	F_locale_pctype      uintptr
   331  	F_locale_mb_cur_max  int32
   332  	F_locale_lc_codepage uint32
   333  } /* corecrt.h:430:1 */
   334  
   335  type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
   336  type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
   337  
   338  type Localeinfo_struct = struct {
   339  	Flocinfo Pthreadlocinfo
   340  	Fmbcinfo Pthreadmbcinfo
   341  } /* corecrt.h:436:9 */
   342  
   343  type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
   344  type X_locale_t = uintptr                 /* corecrt.h:439:19 */
   345  
   346  type TagLC_ID = struct {
   347  	FwLanguage uint16
   348  	FwCountry  uint16
   349  	FwCodePage uint16
   350  } /* corecrt.h:443:9 */
   351  
   352  type LC_ID = TagLC_ID  /* corecrt.h:447:3 */
   353  type LPLC_ID = uintptr /* corecrt.h:447:9 */
   354  
   355  type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
   356  type X_fsize_t = uint32                     /* io.h:29:25 */
   357  
   358  type X_finddata32_t = struct {
   359  	Fattrib      uint32
   360  	Ftime_create X__time32_t
   361  	Ftime_access X__time32_t
   362  	Ftime_write  X__time32_t
   363  	Fsize        X_fsize_t
   364  	Fname        [260]int8
   365  } /* io.h:35:3 */
   366  
   367  type X_finddata32i64_t = struct {
   368  	Fattrib      uint32
   369  	Ftime_create X__time32_t
   370  	Ftime_access X__time32_t
   371  	Ftime_write  X__time32_t
   372  	Fsize        int64
   373  	Fname        [260]int8
   374  	F__ccgo_pad1 [4]byte
   375  } /* io.h:44:3 */
   376  
   377  type X_finddata64i32_t = struct {
   378  	Fattrib      uint32
   379  	F__ccgo_pad1 [4]byte
   380  	Ftime_create X__time64_t
   381  	Ftime_access X__time64_t
   382  	Ftime_write  X__time64_t
   383  	Fsize        X_fsize_t
   384  	Fname        [260]int8
   385  } /* io.h:53:3 */
   386  
   387  type X__finddata64_t = struct {
   388  	Fattrib      uint32
   389  	F__ccgo_pad1 [4]byte
   390  	Ftime_create X__time64_t
   391  	Ftime_access X__time64_t
   392  	Ftime_write  X__time64_t
   393  	Fsize        int64
   394  	Fname        [260]int8
   395  	F__ccgo_pad2 [4]byte
   396  } /* io.h:62:3 */
   397  
   398  type X_wfinddata32_t = struct {
   399  	Fattrib      uint32
   400  	Ftime_create X__time32_t
   401  	Ftime_access X__time32_t
   402  	Ftime_write  X__time32_t
   403  	Fsize        X_fsize_t
   404  	Fname        [260]Wchar_t
   405  } /* io.h:94:3 */
   406  
   407  type X_wfinddata32i64_t = struct {
   408  	Fattrib      uint32
   409  	Ftime_create X__time32_t
   410  	Ftime_access X__time32_t
   411  	Ftime_write  X__time32_t
   412  	Fsize        int64
   413  	Fname        [260]Wchar_t
   414  } /* io.h:103:3 */
   415  
   416  type X_wfinddata64i32_t = struct {
   417  	Fattrib      uint32
   418  	F__ccgo_pad1 [4]byte
   419  	Ftime_create X__time64_t
   420  	Ftime_access X__time64_t
   421  	Ftime_write  X__time64_t
   422  	Fsize        X_fsize_t
   423  	Fname        [260]Wchar_t
   424  	F__ccgo_pad2 [4]byte
   425  } /* io.h:112:3 */
   426  
   427  type X_wfinddata64_t = struct {
   428  	Fattrib      uint32
   429  	F__ccgo_pad1 [4]byte
   430  	Ftime_create X__time64_t
   431  	Ftime_access X__time64_t
   432  	Ftime_write  X__time64_t
   433  	Fsize        int64
   434  	Fname        [260]Wchar_t
   435  } /* io.h:121:3 */
   436  
   437  type X_off_t = int32 /* _mingw_off_t.h:5:16 */
   438  type Off32_t = int32 /* _mingw_off_t.h:7:16 */
   439  
   440  type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
   441  type Off64_t = int64   /* _mingw_off_t.h:15:39 */
   442  
   443  type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
   444  
   445  type X_PVFV = uintptr /* corecrt_startup.h:20:14 */
   446  type X_PIFV = uintptr /* corecrt_startup.h:21:13 */
   447  type X_PVFI = uintptr /* corecrt_startup.h:22:14 */
   448  
   449  type X_onexit_table_t1 = struct {
   450  	F_first uintptr
   451  	F_last  uintptr
   452  	F_end   uintptr
   453  } /* corecrt_startup.h:24:9 */
   454  
   455  type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */
   456  
   457  type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */
   458  
   459  // Includes a definition of _pid_t and pid_t
   460  // *
   461  // This file has no copyright assigned and is placed in the Public Domain.
   462  // This file is part of the mingw-w64 runtime package.
   463  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   464  
   465  // *
   466  // This file has no copyright assigned and is placed in the Public Domain.
   467  // This file is part of the mingw-w64 runtime package.
   468  // No warranty is given; refer to the file DISCLAIMER.PD within this package.
   469  
   470  type X_ino_t = uint16 /* types.h:43:24 */
   471  type Ino_t = uint16   /* types.h:45:24 */
   472  
   473  type X_dev_t = uint32 /* types.h:51:22 */
   474  type Dev_t = uint32   /* types.h:53:22 */
   475  
   476  type X_pid_t = int64 /* types.h:63:17 */
   477  
   478  type Pid_t = X_pid_t /* types.h:68:16 */
   479  
   480  type X_mode_t = uint16 /* types.h:74:24 */
   481  
   482  type Mode_t = X_mode_t /* types.h:77:17 */
   483  
   484  type Useconds_t = uint32 /* types.h:84:22 */
   485  
   486  type Timespec = struct {
   487  	Ftv_sec      Time_t
   488  	Ftv_nsec     int32
   489  	F__ccgo_pad1 [4]byte
   490  } /* types.h:89:1 */
   491  
   492  type Itimerspec = struct {
   493  	Fit_interval struct {
   494  		Ftv_sec      Time_t
   495  		Ftv_nsec     int32
   496  		F__ccgo_pad1 [4]byte
   497  	}
   498  	Fit_value struct {
   499  		Ftv_sec      Time_t
   500  		Ftv_nsec     int32
   501  		F__ccgo_pad1 [4]byte
   502  	}
   503  } /* types.h:94:1 */
   504  
   505  type X_sigset_t = uint64 /* types.h:104:28 */
   506  
   507  type X_beginthread_proc_type = uintptr   /* process.h:32:16 */
   508  type X_beginthreadex_proc_type = uintptr /* process.h:33:20 */
   509  
   510  type X_tls_callback_type = uintptr /* process.h:64:16 */
   511  
   512  //
   513  //    Copyright (c) 2011-2016  mingw-w64 project
   514  //
   515  //    Permission is hereby granted, free of charge, to any person obtaining a
   516  //    copy of this software and associated documentation files (the "Software"),
   517  //    to deal in the Software without restriction, including without limitation
   518  //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
   519  //    and/or sell copies of the Software, and to permit persons to whom the
   520  //    Software is furnished to do so, subject to the following conditions:
   521  //
   522  //    The above copyright notice and this permission notice shall be included in
   523  //    all copies or substantial portions of the Software.
   524  //
   525  //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   526  //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   527  //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   528  //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   529  //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   530  //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   531  //    DEALINGS IN THE SOFTWARE.
   532  
   533  // Set defines described by the POSIX Threads Extension (1003.1c-1995)
   534  // _SC_THREADS
   535  //   Basic support for POSIX threads is available. The functions
   536  //
   537  //   pthread_atfork(),
   538  //   pthread_attr_destroy(),
   539  //   pthread_attr_getdetachstate(),
   540  //   pthread_attr_getschedparam(),
   541  //   pthread_attr_init(),
   542  //   pthread_attr_setdetachstate(),
   543  //   pthread_attr_setschedparam(),
   544  //   pthread_cancel(),
   545  //   pthread_cleanup_push(),
   546  //   pthread_cleanup_pop(),
   547  //   pthread_cond_broadcast(),
   548  //   pthread_cond_destroy(),
   549  //   pthread_cond_init(),
   550  //   pthread_cond_signal(),
   551  //   pthread_cond_timedwait(),
   552  //   pthread_cond_wait(),
   553  //   pthread_condattr_destroy(),
   554  //   pthread_condattr_init(),
   555  //   pthread_create(),
   556  //   pthread_detach(),
   557  //   pthread_equal(),
   558  //   pthread_exit(),
   559  //   pthread_getspecific(),
   560  //   pthread_join(,
   561  //   pthread_key_create(),
   562  //   pthread_key_delete(),
   563  //   pthread_mutex_destroy(),
   564  //   pthread_mutex_init(),
   565  //   pthread_mutex_lock(),
   566  //   pthread_mutex_trylock(),
   567  //   pthread_mutex_unlock(),
   568  //   pthread_mutexattr_destroy(),
   569  //   pthread_mutexattr_init(),
   570  //   pthread_once(),
   571  //   pthread_rwlock_destroy(),
   572  //   pthread_rwlock_init(),
   573  //   pthread_rwlock_rdlock(),
   574  //   pthread_rwlock_tryrdlock(),
   575  //   pthread_rwlock_trywrlock(),
   576  //   pthread_rwlock_unlock(),
   577  //   pthread_rwlock_wrlock(),
   578  //   pthread_rwlockattr_destroy(),
   579  //   pthread_rwlockattr_init(),
   580  //   pthread_self(),
   581  //   pthread_setcancelstate(),
   582  //   pthread_setcanceltype(),
   583  //   pthread_setspecific(),
   584  //   pthread_testcancel()
   585  //
   586  //   are present.
   587  
   588  // _SC_READER_WRITER_LOCKS
   589  //   This option implies the _POSIX_THREADS option. Conversely, under
   590  //   POSIX 1003.1-2001 the _POSIX_THREADS option implies this option.
   591  //
   592  //   The functions
   593  //   pthread_rwlock_destroy(),
   594  //   pthread_rwlock_init(),
   595  //   pthread_rwlock_rdlock(),
   596  //   pthread_rwlock_tryrdlock(),
   597  //   pthread_rwlock_trywrlock(),
   598  //   pthread_rwlock_unlock(),
   599  //   pthread_rwlock_wrlock(),
   600  //   pthread_rwlockattr_destroy(),
   601  //   pthread_rwlockattr_init()
   602  //
   603  //   are present.
   604  
   605  // _SC_SPIN_LOCKS
   606  //   This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
   607  //   options. The functions
   608  //
   609  //   pthread_spin_destroy(),
   610  //   pthread_spin_init(),
   611  //   pthread_spin_lock(),
   612  //   pthread_spin_trylock(),
   613  //   pthread_spin_unlock()
   614  //
   615  //   are present.
   616  
   617  // _SC_BARRIERS
   618  //   This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
   619  //   options. The functions
   620  //
   621  //   pthread_barrier_destroy(),
   622  //   pthread_barrier_init(),
   623  //   pthread_barrier_wait(),
   624  //   pthread_barrierattr_destroy(),
   625  //   pthread_barrierattr_init()
   626  //
   627  //   are present.
   628  
   629  // _SC_TIMEOUTS
   630  //   The functions
   631  //
   632  //   mq_timedreceive(), - not supported
   633  //   mq_timedsend(), - not supported
   634  //   posix_trace_timedgetnext_event(), - not supported
   635  //   pthread_mutex_timedlock(),
   636  //   pthread_rwlock_timedrdlock(),
   637  //   pthread_rwlock_timedwrlock(),
   638  //   sem_timedwait(),
   639  //
   640  //   are present.
   641  
   642  // _SC_TIMERS - not supported
   643  //   The functions
   644  //
   645  //   clock_getres(),
   646  //   clock_gettime(),
   647  //   clock_settime(),
   648  //   nanosleep(),
   649  //   timer_create(),
   650  //   timer_delete(),
   651  //   timer_gettime(),
   652  //   timer_getoverrun(),
   653  //   timer_settime()
   654  //
   655  //   are present.
   656  // #undef _POSIX_TIMERS
   657  
   658  // _SC_CLOCK_SELECTION
   659  //    This option implies the _POSIX_TIMERS option. The functions
   660  //
   661  //    pthread_condattr_getclock(),
   662  //    pthread_condattr_setclock(),
   663  //    clock_nanosleep()
   664  //
   665  //    are present.
   666  
   667  // _SC_SEMAPHORES
   668  //   The include file <semaphore.h> is present. The functions
   669  //
   670  //   sem_close(),
   671  //   sem_destroy(),
   672  //   sem_getvalue(),
   673  //   sem_init(),
   674  //   sem_open(),
   675  //   sem_post(),
   676  //   sem_trywait(),
   677  //   sem_unlink(),
   678  //   sem_wait()
   679  //
   680  //   are present.
   681  
   682  var _ int8 /* gen.c:2:13: */