github.com/ebitengine/purego@v0.8.0-alpha.2.0.20240512170805-6cd12240d332/internal/fakecgo/libcgo.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // SPDX-FileCopyrightText: 2022 The Ebitengine Authors
     3  
     4  //go:build !cgo && (darwin || freebsd || linux)
     5  
     6  package fakecgo
     7  
     8  type (
     9  	size_t         uintptr
    10  	sigset_t       [128]byte
    11  	pthread_attr_t [64]byte
    12  	pthread_t      int
    13  	pthread_key_t  uint64
    14  )
    15  
    16  // for pthread_sigmask:
    17  
    18  type sighow int32
    19  
    20  const (
    21  	SIG_BLOCK   sighow = 0
    22  	SIG_UNBLOCK sighow = 1
    23  	SIG_SETMASK sighow = 2
    24  )
    25  
    26  type G struct {
    27  	stacklo uintptr
    28  	stackhi uintptr
    29  }
    30  
    31  type ThreadStart struct {
    32  	g   *G
    33  	tls *uintptr
    34  	fn  uintptr
    35  }