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_CREAT 3PROC 16.Os 17.Sh NAME 18.Nm pr_creat 19.Nd inject creat system call into victim process 20.Sh SYNOPSIS 21.Lb libproc 22.In libproc.h 23.Ft int 24.Fo pr_creat 25.Fa "struct ps_prochandle *P" 26.Fa "const char *filename" 27.Fa "mode_t mode" 28.Fc 29.Sh DESCRIPTION 30The 31.Fn pr_creat 32function injects the 33.Xr creat 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 creat 2 43on the currently running process. 44.Pp 45The arguments 46.Fa filename 47and 48.Fa mode 49have the same meaning as in 50.Xr creat 2 . 51See 52.Xr creat 2 53for the full description and purpose of the 54.Sy creat 55system call and its arguments. 56.Pp 57The 58.Fn pr_creat 59function only works on active processes. Process handles that correspond 60to core files, zombie processes, or ELF objects do not support system 61call injection. 62.Sh RETURN VALUES 63Upon successful completion, the 64.Fn pr_creat 65function's return value is that described in 66.Xr creat 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 creat 2 . 79.Pp 80The 81.Fn pr_creat 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 creat 2 , 101.Xr libproc 3LIB , 102.Xr proc 4 103