1.\" 2.\" This file and its contents are supplied under the terms of the 3.\" Common Development and Distribution License ("CDDL"), version 1.0. 4.\" You may only use this file in accordance with the terms of version 5.\" 1.0 of the CDDL. 6.\" 7.\" A full copy of the text of the CDDL should have accompanied this 8.\" source. A copy of the CDDL is also available via the Internet at 9.\" http://www.illumos.org/license/CDDL. 10.\" 11.\" 12.\" Copyright 2015 Joyent, Inc. 13.\" 14.Dd May 11, 2016 15.Dt PR_ACCESS 3PROC 16.Os 17.Sh NAME 18.Nm pr_access 19.Nd inject access system call into victim process 20.Sh SYNOPSIS 21.Lb libproc 22.In libproc.h 23.Ft int 24.Fo pr_access 25.Fa "struct ps_prochandle *P" 26.Fa "const char *path" 27.Fa "int amode" 28.Fc 29.Sh DESCRIPTION 30The 31.Fn pr_access 32function injects the 33.Xr access 2 34system call into the target process 35.Fa P 36by means of the agent lwp. 37If the process handle 38.Fa P 39is 40.Dv NULL 41then this is equivalent to calling 42.Xr access 2 43on the currently running process. 44.Pp 45The arguments 46.Fa path 47and 48.Fa amode 49have the same meaning as in 50.Xr access 2 . 51See 52.Xr access 2 53for the full description and purpose of the 54.Sy access 55system call and its arguments. 56.Pp 57The 58.Fn pr_access 59function only works on active processes. 60Process handles that correspond to core files, zombie processes, or ELF objects 61do not support system call injection. 62.Sh RETURN VALUES 63Upon successful completion, the 64.Fn pr_access 65function's return value is that described in 66.Xr access 2 . 67Otherwise, 68.Sy -1 69is returned and 70.Sy errno 71is set to 72.Er ENOSYS 73to indicate that the system call could not be injected. 74.Sh ERRORS 75For the full list of errors see the 76.Sy ERRORS 77section in 78.Xr access 2 . 79.Pp 80The 81.Fn pr_access 82function will fail if: 83.Bl -tag -width Er 84.It Er ENOSYS 85An error occurred while trying to invoke the agent LWP and inject a 86system call in the process handle 87.Fa P 88or the process handle 89.Fa P 90does not support system call injection. 91.El 92.Sh INTERFACE STABILITY 93.Sy Uncommitted 94.Sh MT-LEVEL 95See 96.Sy LOCKING 97in 98.Xr libproc 3LIB . 99.Sh SEE ALSO 100.Xr access 2 , 101.Xr libproc 3LIB , 102.Xr proc 4 103