...

Source file src/github.com/shirou/gopsutil/process/types_darwin.go

Documentation: github.com/shirou/gopsutil/process

     1  // Copyright 2009 The Go Authors. 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  
     5  // Hand Writing
     6  // - all pointer in ExternProc to uint64
     7  
     8  // +build ignore
     9  
    10  /*
    11  Input to cgo -godefs.
    12  */
    13  
    14  // +godefs map struct_in_addr [4]byte /* in_addr */
    15  // +godefs map struct_in6_addr [16]byte /* in6_addr */
    16  // +godefs map struct_ [16]byte /* in6_addr */
    17  
    18  package process
    19  
    20  /*
    21  #define __DARWIN_UNIX03 0
    22  #define KERNEL
    23  #define _DARWIN_USE_64_BIT_INODE
    24  #include <stdint.h>
    25  #include <dirent.h>
    26  #include <fcntl.h>
    27  #include <signal.h>
    28  #include <termios.h>
    29  #include <unistd.h>
    30  #include <mach/mach.h>
    31  #include <mach/message.h>
    32  #include <sys/event.h>
    33  #include <sys/mman.h>
    34  #include <sys/mount.h>
    35  #include <sys/param.h>
    36  #include <sys/ptrace.h>
    37  #include <sys/resource.h>
    38  #include <sys/select.h>
    39  #include <sys/signal.h>
    40  #include <sys/socket.h>
    41  #include <sys/stat.h>
    42  #include <sys/time.h>
    43  #include <sys/types.h>
    44  #include <sys/uio.h>
    45  #include <sys/un.h>
    46  #include <net/bpf.h>
    47  #include <net/if_dl.h>
    48  #include <net/if_var.h>
    49  #include <net/route.h>
    50  #include <netinet/in.h>
    51  
    52  #include <sys/sysctl.h>
    53  #include <sys/ucred.h>
    54  #include <sys/proc.h>
    55  #include <sys/time.h>
    56  #include <sys/_types/_timeval.h>
    57  #include <sys/appleapiopts.h>
    58  #include <sys/cdefs.h>
    59  #include <sys/param.h>
    60  #include <bsm/audit.h>
    61  #include <sys/queue.h>
    62  
    63  enum {
    64  	sizeofPtr = sizeof(void*),
    65  };
    66  
    67  union sockaddr_all {
    68  	struct sockaddr s1;	// this one gets used for fields
    69  	struct sockaddr_in s2;	// these pad it out
    70  	struct sockaddr_in6 s3;
    71  	struct sockaddr_un s4;
    72  	struct sockaddr_dl s5;
    73  };
    74  
    75  struct sockaddr_any {
    76  	struct sockaddr addr;
    77  	char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
    78  };
    79  
    80  struct ucred_queue {
    81          struct ucred *tqe_next;
    82          struct ucred **tqe_prev;
    83          TRACEBUF
    84  };
    85  
    86  */
    87  import "C"
    88  
    89  // Machine characteristics; for internal use.
    90  
    91  const (
    92  	sizeofPtr      = C.sizeofPtr
    93  	sizeofShort    = C.sizeof_short
    94  	sizeofInt      = C.sizeof_int
    95  	sizeofLong     = C.sizeof_long
    96  	sizeofLongLong = C.sizeof_longlong
    97  )
    98  
    99  // Basic types
   100  
   101  type (
   102  	_C_short     C.short
   103  	_C_int       C.int
   104  	_C_long      C.long
   105  	_C_long_long C.longlong
   106  )
   107  
   108  // Time
   109  
   110  type Timespec C.struct_timespec
   111  
   112  type Timeval C.struct_timeval
   113  
   114  // Processes
   115  
   116  type Rusage C.struct_rusage
   117  
   118  type Rlimit C.struct_rlimit
   119  
   120  type UGid_t C.gid_t
   121  
   122  type KinfoProc C.struct_kinfo_proc
   123  
   124  type Eproc C.struct_eproc
   125  
   126  type Proc C.struct_proc
   127  
   128  type Session C.struct_session
   129  
   130  type ucred C.struct_ucred
   131  
   132  type Uucred C.struct__ucred
   133  
   134  type Upcred C.struct__pcred
   135  
   136  type Vmspace C.struct_vmspace
   137  
   138  type Sigacts C.struct_sigacts
   139  
   140  type ExternProc C.struct_extern_proc
   141  
   142  type Itimerval C.struct_itimerval
   143  
   144  type Vnode C.struct_vnode
   145  
   146  type Pgrp C.struct_pgrp
   147  
   148  type UserStruct C.struct_user
   149  
   150  type Au_session C.struct_au_session
   151  
   152  type Posix_cred C.struct_posix_cred
   153  
   154  type Label C.struct_label
   155  
   156  type AuditinfoAddr C.struct_auditinfo_addr
   157  type AuMask C.struct_au_mask
   158  type AuTidAddr C.struct_au_tid_addr
   159  
   160  // TAILQ(ucred)
   161  type UcredQueue C.struct_ucred_queue
   162  

View as plain text