github.com/isyscore/isc-gobase@v1.5.3-0.20231218061332-cbc7451899e9/system/process/process_darwin_arm64.go (about)

     1  //go:build darwin && arm64
     2  
     3  package process
     4  
     5  const (
     6  	sizeofPtr      = 0x8
     7  	sizeofShort    = 0x2
     8  	sizeofInt      = 0x4
     9  	sizeofLong     = 0x8
    10  	sizeofLongLong = 0x8
    11  )
    12  
    13  type (
    14  	_C_short     int16
    15  	_C_int       int32
    16  	_C_long      int64
    17  	_C_long_long int64
    18  )
    19  
    20  type Timespec struct {
    21  	Sec  int64
    22  	Nsec int64
    23  }
    24  
    25  type Timeval struct {
    26  	Sec       int64
    27  	Usec      int32
    28  	Pad_cgo_0 [4]byte
    29  }
    30  
    31  type Rusage struct {
    32  	Utime    Timeval
    33  	Stime    Timeval
    34  	Maxrss   int64
    35  	Ixrss    int64
    36  	Idrss    int64
    37  	Isrss    int64
    38  	Minflt   int64
    39  	Majflt   int64
    40  	Nswap    int64
    41  	Inblock  int64
    42  	Oublock  int64
    43  	Msgsnd   int64
    44  	Msgrcv   int64
    45  	Nsignals int64
    46  	Nvcsw    int64
    47  	Nivcsw   int64
    48  }
    49  
    50  type Rlimit struct {
    51  	Cur uint64
    52  	Max uint64
    53  }
    54  
    55  type UGid_t uint32
    56  
    57  type KinfoProc struct {
    58  	Proc  ExternProc
    59  	Eproc Eproc
    60  }
    61  
    62  type Eproc struct {
    63  	Paddr     *Proc
    64  	Sess      *Session
    65  	Pcred     Upcred
    66  	Ucred     Uucred
    67  	Vm        Vmspace
    68  	Ppid      int32
    69  	Pgid      int32
    70  	Jobc      int16
    71  	Tdev      int32
    72  	Tpgid     int32
    73  	Tsess     *Session
    74  	Wmesg     [8]int8
    75  	Xsize     int32
    76  	Xrssize   int16
    77  	Xccount   int16
    78  	Xswrss    int16
    79  	Flag      int32
    80  	Login     [12]int8
    81  	Spare     [4]int32
    82  	Pad_cgo_0 [4]byte
    83  }
    84  
    85  type Proc struct{}
    86  
    87  type Session struct{}
    88  
    89  type ucred struct{}
    90  
    91  type Uucred struct {
    92  	Ref     int32
    93  	UID     uint32
    94  	Ngroups int16
    95  	Groups  [16]uint32
    96  }
    97  
    98  type Upcred struct {
    99  	Pc_lock   [72]int8
   100  	Pc_ucred  *ucred
   101  	P_ruid    uint32
   102  	P_svuid   uint32
   103  	P_rgid    uint32
   104  	P_svgid   uint32
   105  	P_refcnt  int32
   106  	Pad_cgo_0 [4]byte
   107  }
   108  
   109  type Vmspace struct {
   110  	Dummy  int32
   111  	Dummy2 *int8
   112  	Dummy3 [5]int32
   113  	Dummy4 [3]*int8
   114  }
   115  
   116  type Sigacts struct{}
   117  
   118  type ExternProc struct {
   119  	P_un        [16]byte
   120  	P_vmspace   uint64
   121  	P_sigacts   uint64
   122  	Pad_cgo_0   [3]byte
   123  	P_flag      int32
   124  	P_stat      int8
   125  	P_pid       int32
   126  	P_oppid     int32
   127  	P_dupfd     int32
   128  	Pad_cgo_1   [4]byte
   129  	User_stack  uint64
   130  	Exit_thread uint64
   131  	P_debugger  int32
   132  	Sigwait     int32
   133  	P_estcpu    uint32
   134  	P_cpticks   int32
   135  	P_pctcpu    uint32
   136  	Pad_cgo_2   [4]byte
   137  	P_wchan     uint64
   138  	P_wmesg     uint64
   139  	P_swtime    uint32
   140  	P_slptime   uint32
   141  	P_realtimer Itimerval
   142  	P_rtime     Timeval
   143  	P_uticks    uint64
   144  	P_sticks    uint64
   145  	P_iticks    uint64
   146  	P_traceflag int32
   147  	Pad_cgo_3   [4]byte
   148  	P_tracep    uint64
   149  	P_siglist   int32
   150  	Pad_cgo_4   [4]byte
   151  	P_textvp    uint64
   152  	P_holdcnt   int32
   153  	P_sigmask   uint32
   154  	P_sigignore uint32
   155  	P_sigcatch  uint32
   156  	P_priority  uint8
   157  	P_usrpri    uint8
   158  	P_nice      int8
   159  	P_comm      [17]int8
   160  	Pad_cgo_5   [4]byte
   161  	P_pgrp      uint64
   162  	P_addr      uint64
   163  	P_xstat     uint16
   164  	P_acflag    uint16
   165  	Pad_cgo_6   [4]byte
   166  	P_ru        uint64
   167  }
   168  
   169  type Itimerval struct {
   170  	Interval Timeval
   171  	Value    Timeval
   172  }
   173  
   174  type Vnode struct{}
   175  
   176  type Pgrp struct{}
   177  
   178  type UserStruct struct{}
   179  
   180  type Au_session struct {
   181  	Aia_p *AuditinfoAddr
   182  	Mask  AuMask
   183  }
   184  
   185  type Posix_cred struct{}
   186  
   187  type Label struct{}
   188  
   189  type AuditinfoAddr struct {
   190  	Auid   uint32
   191  	Mask   AuMask
   192  	Termid AuTidAddr
   193  	Asid   int32
   194  	Flags  uint64
   195  }
   196  type AuMask struct {
   197  	Success uint32
   198  	Failure uint32
   199  }
   200  type AuTidAddr struct {
   201  	Port int32
   202  	Type uint32
   203  	Addr [4]uint32
   204  }
   205  
   206  type UcredQueue struct {
   207  	Next *ucred
   208  	Prev **ucred
   209  }