github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/freebsd/procctl.txt (about)

     1  # Copyright 2021 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  include <sys/types.h>
     5  include <sys/procctl.h>
     6  include <sys/wait.h>
     7  
     8  procctl$PROC_SPROTECT(idtype flags[idtype], id pid, cmd const[PROC_SPROTECT], data ptr[in, int32])
     9  
    10  procctl$PROC_REAP_ACQUIRE(idtype flags[idtype], id pid, cmd const[PROC_REAP_ACQUIRE], data const[0])
    11  procctl$PROC_REAP_RELEASE(idtype flags[idtype], id pid, cmd const[PROC_REAP_RELEASE], data const[0])
    12  procctl$PROC_REAP_STATUS(idtype flags[idtype], id pid, cmd const[PROC_REAP_STATUS], data ptr[out, reaper_status])
    13  procctl$PROC_REAP_GETPIDS(idtype flags[idtype], id pid, cmd const[PROC_REAP_GETPIDS], data ptr[in, reaper_pids])
    14  procctl$PROC_REAP_KILL(idtype flags[idtype], id pid, cmd const[PROC_REAP_KILL], data ptr[inout, reaper_kill])
    15  
    16  reaper_status {
    17  	flags		int32
    18  	children	int32
    19  	descendants	int32
    20  	reaper		pid
    21  	pid		pid
    22  	pad		array[const[0, int32], 15]
    23  }
    24  
    25  reaper_pidinfo {
    26  	pid	pid
    27  	subtree	pid
    28  	flags	int32
    29  	pad	array[const[0, int32], 15]
    30  }
    31  
    32  reaper_pids {
    33  	count	len[pids, int32]
    34  	pad	array[const[0, int32], 15]
    35  	pids	ptr[in, array[reaper_pidinfo]]
    36  }
    37  
    38  reaper_kill {
    39  	sig	int32
    40  	flags	int32
    41  	subtree	pid
    42  	killed	int32
    43  	fpid	pid
    44  	pad	array[const[0, int32], 15]
    45  }
    46  
    47  procctl$PROC_TRACE_CTL(idtype flags[idtype], id pid, cmd const[PROC_TRACE_CTL], data ptr[in, int32])
    48  procctl$PROC_TRACE_STATUS(idtype flags[idtype], id pid, cmd const[PROC_TRACE_STATUS], data ptr[out, int32])
    49  
    50  procctl$PROC_TRAPCAP_CTL(idtype flags[idtype], id pid, cmd const[PROC_TRAPCAP_CTL], data ptr[in, int32])
    51  procctl$PROC_TRAPCAP_STATUS(idtype flags[idtype], id pid, cmd const[PROC_TRAPCAP_STATUS], data ptr[out, int32])
    52  
    53  procctl$PROC_PDEATHSIG_CTL(idtype flags[idtype], id pid, cmd const[PROC_PDEATHSIG_CTL], data ptr[in, int32])
    54  procctl$PROC_PDEATHSIG_STATUS(idtype flags[idtype], id pid, cmd const[PROC_PDEATHSIG_STATUS], data ptr[out, int32])
    55  
    56  procctl$PROC_ASLR_CTL(idtype flags[idtype], id pid, cmd const[PROC_ASLR_CTL], data ptr[in, int32])
    57  procctl$PROC_ASLR_STATUS(idtype flags[idtype], id pid, cmd const[PROC_ASLR_STATUS], data ptr[out, int32])
    58  
    59  procctl$PROC_PROTMAX_CTL(idtype flags[idtype], id pid, cmd const[PROC_PROTMAX_CTL], data ptr[in, int32])
    60  procctl$PROC_PROTMAX_STATUS(idtype flags[idtype], id pid, cmd const[PROC_PROTMAX_STATUS], data ptr[out, int32])
    61  
    62  procctl$PROC_STACKGAP_CTL(idtype flags[idtype], id pid, cmd const[PROC_STACKGAP_CTL], data ptr[in, int32])
    63  procctl$PROC_STACKGAP_STATUS(idtype flags[idtype], id pid, cmd const[PROC_STACKGAP_STATUS], data ptr[out, int32])
    64  
    65  procctl$PROC_NO_NEW_PRIVS_CTL(idtype flags[idtype], id pid, cmd const[PROC_NO_NEW_PRIVS_CTL], data ptr[in, int32])
    66  procctl$PROC_NO_NEW_PRIVS_STATUS(idtype flags[idtype], id pid, cmd const[PROC_NO_NEW_PRIVS_STATUS], data ptr[out, int32])
    67  
    68  procctl$PROC_WXMAP_CTL(idtype flags[idtype], id pid, cmd const[PROC_WXMAP_CTL], data ptr[in, int32])
    69  procctl$PROC_WXMAP_STATUS(idtype flags[idtype], id pid, cmd const[PROC_WXMAP_STATUS], data ptr[out, int32])
    70  
    71  idtype = P_PID, P_PGID