Interface for trackers. This is an interface implemented by process trackers for UNIX-like operating systems. Such trackers should also implement the basic tracker interface.
typedef struct { trackee_unix_type_t (*trackee_type)(conf_object_t *NOTNULL tracker, integer_t tid); integer_t (*tid_to_pid)(conf_object_t *NOTNULL tracker, integer_t tid); integer_t (*pid_to_tid)(conf_object_t *NOTNULL tracker, integer_t pid); } tracker_unix_interface_t; #define TRACKER_UNIX_INTERFACE "tracker_unix"
trackee_type returns the type of the trackee that has the given tid. The types are defined by the following enum:
typedef enum { Sim_Trackee_Invalid = 0, Sim_Trackee_Kernel, Sim_Trackee_Process } trackee_unix_type_t;
tid_to_pid and pid_to_tid map tids to pids and pids to tids.
In addition to these interface functions, the tracker should trigger the Core_Trackee_Exec hap when a process calls the exec syscall.