sd_bus_creds_new_from_pid systemd A monkey with a typewriter Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl sd_bus_creds_new_from_pid 3 sd_bus_creds_new_from_pid sd_bus_creds_get_mask sd_bus_creds_ref sd_bus_creds_unref Retrieve credentials object for the specified PID #include <systemd/sd-bus.h> int sd_bus_creds_new_from_pid pid_t pid uint64_t creds_mask sd_bus_creds **ret uint64_t sd_bus_creds_get_mask const sd_bus_creds *c sd_bus_creds *sd_bus_creds_ref sd_bus_creds *c sd_bus_creds *sd_bus_creds_unref sd_bus_creds *c SD_BUS_CREDS_PID, SD_BUS_CREDS_TID, SD_BUS_CREDS_UID, SD_BUS_CREDS_GID, SD_BUS_CREDS_COMM, SD_BUS_CREDS_TID_COMM, SD_BUS_CREDS_EXE, SD_BUS_CREDS_CMDLINE, SD_BUS_CREDS_CGROUP, SD_BUS_CREDS_UNIT, SD_BUS_CREDS_USER_UNIT, SD_BUS_CREDS_SLICE, SD_BUS_CREDS_SESSION, SD_BUS_CREDS_OWNER_UID, SD_BUS_CREDS_EFFECTIVE_CAPS, SD_BUS_CREDS_PERMITTED_CAPS, SD_BUS_CREDS_INHERITABLE_CAPS, SD_BUS_CREDS_BOUNDING_CAPS, SD_BUS_CREDS_SELINUX_CONTEXT, SD_BUS_CREDS_AUDIT_SESSION_ID, SD_BUS_CREDS_AUDIT_LOGIN_UID, SD_BUS_CREDS_UNIQUE_NAME, SD_BUS_CREDS_WELL_KNOWN_NAMES, _SD_BUS_CREDS_ALL Description sd_bus_creds_new_from_pid() creates a new credentials object and fills it with information about the process pid. This pointer to this object will be stored in ret pointer. The information that will be stored is determined by creds_mask. It may contain a subset of ORed constants SD_BUS_CREDS_PID, SD_BUS_CREDS_TID, SD_BUS_CREDS_UID, SD_BUS_CREDS_GID, SD_BUS_CREDS_COMM, SD_BUS_CREDS_TID_COMM, SD_BUS_CREDS_EXE, SD_BUS_CREDS_CMDLINE, SD_BUS_CREDS_CGROUP, SD_BUS_CREDS_UNIT, SD_BUS_CREDS_USER_UNIT, SD_BUS_CREDS_SLICE, SD_BUS_CREDS_SESSION, SD_BUS_CREDS_OWNER_UID, SD_BUS_CREDS_EFFECTIVE_CAPS, SD_BUS_CREDS_PERMITTED_CAPS, SD_BUS_CREDS_INHERITABLE_CAPS, SD_BUS_CREDS_BOUNDING_CAPS, SD_BUS_CREDS_SELINUX_CONTEXT, SD_BUS_CREDS_AUDIT_SESSION_ID, SD_BUS_CREDS_AUDIT_LOGIN_UID, SD_BUS_CREDS_UNIQUE_NAME, SD_BUS_CREDS_WELL_KNOWN_NAMES, or _SD_BUS_CREDS_ALL to indicate all known fields. Fields can be retrieved from the credentials object using sd_bus_creds_get_pid3 and other functions which correspond directly to the constants listed above. A mask of fields which were actually successfully set (acquired from /proc, etc.) can be retrieved with sd_bus_creds_get_mask(). If the credentials object was created with sd_bus_creds_new_from_pid(), this will be a subset of fields requested in creds_mask. sd_bus_creds_ref creates a new reference to the credentials object c. This object will not be destroyed until sd_bus_creds_unref has been called as many times plus once more. Once the reference count has dropped to zero, c cannot be used anymore, so further calls to sd_bus_creds_ref(c) or sd_bus_creds_unref(c) are illegal. sd_bus_creds_unref destroys a reference to c. Return Value On success, sd_bus_creds_new_from_pid() returns 0 or a positive integer. On failure, it returns a negative errno-style error code. sd_bus_creds_get_mask() returns the mask of successfully acquired fields. sd_bus_creds_ref always returns the argument. sd_bus_creds_unref always returns NULL. Reference ownership Function sd_bus_creds_new_from_pid() creates a new object and the caller owns the sole reference. When not needed anymore, this reference should be destroyed with sd_bus_creds_unref3. Errors Returned errors may indicate the following problems: -ESRCH Specified pid could not be found. -EINVAL Specified parameter is invalid (NULL in case of output parameters). -ENOMEM Memory allocation failed. Notes sd_bus_creds_new_from_pid() is available as a shared library, which can be compiled and linked to with the libsystemd pkg-config1 file. See Also systemd1, sd-bus3, sd_bus_creds_ref3, sd_bus_creds_unref3, sd_bus_creds_get_pid3, sd_bus_creds_get_tid3, sd_bus_creds_get_uid3, sd_bus_creds_get_gid3, sd_bus_creds_get_comm3, sd_bus_creds_get_tid_comm3, sd_bus_creds_get_exe3, sd_bus_creds_get_cmdline3, sd_bus_creds_get_cgroup3, sd_bus_creds_get_unit3, sd_bus_creds_get_user_unit3, sd_bus_creds_get_slice3, sd_bus_creds_get_session3, sd_bus_creds_get_owner_uid3, sd_bus_creds_has_effective_cap3, sd_bus_creds_has_permitted_cap3, sd_bus_creds_has_inheritable_cap3, sd_bus_creds_has_bounding_cap3, sd_bus_creds_get_selinux_context3, sd_bus_creds_get_audit_session_id3, sd_bus_creds_get_audit_login_uid3, sd_bus_creds_get_unique_name3, sd_bus_creds_get_well_known_names3