👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

OpenSolaris 2009.06 - man page for ct_pr_event_get_sender (opensolaris section 3CONTRACT)

ct_pr_event_get_pid(3CONTRACT)Contract Management Library Functionsct_pr_event_get_pid(3CONTRACT)

NAME
       ct_pr_event_get_pid, ct_pr_event_get_ppid, ct_pr_event_get_signal, ct_pr_event_get_sender,
       ct_pr_event_get_senderct,      ct_pr_event_get_exitstatus,      ct_pr_event_get_pcorefile,
       ct_pr_event_get_gcorefile, ct_pr_event_get_zcorefile - process contract event functions

SYNOPSIS
       cc [ flag... ] file... -D_LARGEFILE64_SOURCE  -lcontract  [ library... ]
       #include <libcontract.h>
       #include <sys/contract/process.h>

       int ct_pr_event_get_pid(ct_evthdl_t evthdl, pid_t *pidp);

       int ct_pr_event_get_ppid(ct_evthdl_t evthdl, pid_t *pidp);

       int ct_pr_event_get_signal(ct_evthdl_t evthdl, int *signalp);

       int ct_pr_event_get_sender(ct_evthdl_t evthdl, pid_t *pidp);

       int ct_pr_event_get_senderct(ct_evthdl_t evthdl, ctid_t *pidp);

       int ct_pr_event_get_exitstatus(ct_evthdl_t evthdl, int *statusp);

       int ct_pr_event_get_pcorefile(ct_evthdl_t evthdl, char **namep);

       int ct_pr_event_get_gcorefile(ct_evthdl_t evthdl, char **namep);

       int ct_pr_event_get_zcorefile(ct_evthdl_t evthdl, char **namep);

DESCRIPTION
       These  functions  read process contract event information from an event object returned by
       ct_event_read(3CONTRACT) or ct_event_read_critical(3CONTRACT).

       The ct_pr_event_get_pid() function reads the process ID	of  the  process  generating  the
       event.

       The  ct_pr_event_get_ppid()  function  reads the process ID of the process that forked the
       new process causing the CT_PR_EV_FORK event.

       The ct_pr_event_get_signal() function reads the signal number of the  signal  that  caused
       the CT_PR_EV_SIGNAL event.

       The  ct_pr_event_get_sender()  function	reads the process ID of the process that sent the
       signal that caused the CT_PR_EV_SIGNAL event. If the signal's sender was not in	the  same
       zone  as  the signal's recipient, this information is available only to event consumers in
       the global zone.

       The ct_pr_event_get_senderct function reads the contract ID of the process that	sent  the
       signal  that  caused the CT_PR_EV_SIGNAL event. If the signal's sender was not in the same
       zone as the signal's recipient, this information is available only

       The ct_pr_event_get_exitstatus() function reads the exit status of the process  generating
       a CT_PR_EV_EXIT event.

       The  ct_pr_event_get_pcorefile()  function  reads the name of the process core file if one
       was created when the CT_PR_EV_CORE event was generated. A pointer to a character array  is
       stored in *namep and is freed when ct_event_free(3CONTRACT) is called on the event handle.

       The  ct_pr_event_get_gcorefile() function reads the name of the zone's global core file if
       one was created when the CT_PR_EV_CORE event was generated. A pointer to a character array
       is stored in *namep and is freed when ct_event_free() is called on the event handle.

       The  ct_pr_event_get_zcorefile()  function  reads the name of the system-wide core file in
       the global zone if one was created when the CT_PR_EV_CORE event was generated. This infor-
       mation  is  available only to event consumers in the global zone. A pointer to a character
       array is stored in *namep and is freed when ct_event_free() is called on the event handle.

RETURN VALUES
       Upon	successful     completion,     ct_pr_event_get_pid(),	  ct_pr_event_get_ppid(),
       ct_pr_event_get_signal(),       ct_pr_event_get_sender(),      ct_pr_event_get_senderct(),
       ct_pr_event_get_exitstatus(),  ct_pr_event_get_pcorefile(),   ct_pr_event_get_gcorefile(),
       and ct_pr_event_get_zcorefile() return 0. Otherwise, they return a non-zero error value.

ERRORS
       The	ct_pr_event_get_pid(),	    ct_pr_event_get_ppid(),	ct_pr_event_get_signal(),
       ct_pr_event_get_sender(),    ct_pr_event_get_senderct(),     ct_pr_event_get_exitstatus(),
       ct_pr_event_get_pcorefile(),  ct_pr_event_get_gcorefile(), and ct_pr_event_get_zcorefile()
       functions will fail if:

       EINVAL	 The evthdl argument is not a process contract event object.

       The    ct_pr_event_get_ppid(),	  ct_pr_event_get_signal(),	ct_pr_event_get_sender(),
       ct_pr_event_get_senderct(),   ct_pr_event_get_exitstatus(),   ct_pr_event_get_pcorefile(),
       ct_pr_event_get_gcorefile(), and ct_pr_event_get_zcorefile() functions will fail if:

       EINVAL	 The requested data do not match the event type.

       The ct_pr_event_get_sender()a functions will fail if:

       ENOENT	 The process ID of the sender was not available, or the event object was read  by
		 a process running in a non-global zone and the sender was in a different zone.

       The  ct_pr_event_get_pcorefile(),  ct_pr_event_get_gcorefile(), and ct_pr_event_get_zcore-
       file() functions will fail if:

       ENOENT	 The requested core file was not created.

       The ct_pr_event_get_zcorefile() function will fail if:

       ENOENT	 The event object was read by a process running in a non-global zone.

EXAMPLES
       Example 1 Print the instigator of all CT_PR_EV_SIGNAL events.

       Open the process contract bundle. Loop reading events. Fetch and display the signalled pid
       and signalling pid for each CT_PR_EV_SIGNAL event encountered.

	 #include <sys/types.h>
	 #include <fcntl.h>
	 #include <stdio.h>
	 #include <libcontract.h>

	 ...
	 int fd;
	 ct_evthdl_t event;
	 pid_t pid, sender;

	 fd = open("/system/contract/process/bundle", O_RDONLY);
	 for (;;) {
		 ct_event_read(fd, &event);
		 if (ct_event_get_type(event) != CT_PR_EV_SIGNAL) {
			 ct_event_free(event);
			 continue;
		 }
		 ct_pr_event_get_pid(event, &pid);
		 if (ct_pr_event_get_sender(event, &sender) == ENOENT)
			 printf("process %ld killed by unknown process\n",
			     (long)pid);
		 else
			 printf("process %ld killed by process %ld\n",
			     (long)pid, (long)sender);
		 ct_event_free(event);
	 }
		 ...

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Evolving			   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |Safe			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       ct_event_free(3CONTRACT),   ct_event_read(3CONTRACT),   ct_event_read_critical(3CONTRACT),
       libcontract(3LIB), contract(4), process(4), attributes(5), lfcompile(5)

SunOS 5.11				   19 Jul 2004		   ct_pr_event_get_pid(3CONTRACT)


All times are GMT -4. The time now is 08:10 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password