X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fmi-lttng.h;h=c3976681e76fcfe6a90adf134a50aa4c05bec971;hp=deab4e41ca786326f6437cc1761c3d6fbff3b29d;hb=bf239d4cf83c083459c7672ac8a1965108bacca6;hpb=4965f956f3ef47388fb4a1b2f8f504abfe31afe7 diff --git a/src/common/mi-lttng.h b/src/common/mi-lttng.h index deab4e41c..c3976681e 100644 --- a/src/common/mi-lttng.h +++ b/src/common/mi-lttng.h @@ -101,8 +101,6 @@ extern const char * const mi_lttng_context_type_perf_thread_counter; extern const char * const mi_lttng_element_perf_counter_context; /* Strings related to pid */ -extern const char * const mi_lttng_element_pids; -extern const char * const mi_lttng_element_pid; extern const char * const mi_lttng_element_pid_id; /* Strings related to save command */ @@ -195,6 +193,9 @@ const char *mi_lttng_domaintype_string(enum lttng_domain_type value); const char *mi_lttng_buffertype_string(enum lttng_buffer_type value); const char *mi_lttng_calibratetype_string(enum lttng_calibrate_type val); +/* String related to track/untrack command */ +const char * const mi_lttng_element_track_untrack_all_wildcard; + /* * Create an instance of a machine interface writer. * @@ -555,6 +556,28 @@ int mi_lttng_event_field(struct mi_writer *writer, */ int mi_lttng_event_fields_open(struct mi_writer *writer); +/* + * Machine interface: open a trackers element. + * + * writer An instance of a machine interface writer. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_trackers_open(struct mi_writer *writer); + +/* + * Machine interface: open a pid_tracker element. + * + * writer An instance of a machine interface writer. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + * + * Note: A targets element is also opened for each tracker definition + */ +int mi_lttng_pid_tracker_open(struct mi_writer *writer); + /* * Machine interface: open a PIDs element. * @@ -566,7 +589,17 @@ int mi_lttng_event_fields_open(struct mi_writer *writer); int mi_lttng_pids_open(struct mi_writer *writer); /* - * Machine interface of a PID. + * Machine interface: open a processes element. + * + * writer An instance of a machine interface writer. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_processes_open(struct mi_writer *writer); + +/* + * Machine interface of a Process. * * writer An instance of a machine interface writer. * pid A PID. @@ -580,9 +613,47 @@ int mi_lttng_pids_open(struct mi_writer *writer); * Returns zero if the element's value could be written. * Negative values indicate an error. */ -int mi_lttng_pid(struct mi_writer *writer, pid_t pid , const char *cmdline, +int mi_lttng_process(struct mi_writer *writer, pid_t pid , const char *name, int is_open); +/* + * TODO: move pid of lttng list -u to process semantic on mi api bump + * Machine interface of a Process. + * + * writer An instance of a machine interface writer. + * pid A PID. + * + * is_open Defines whether or not the session element shall be closed. + * This should be used carefully and the client + * must close the pid element. + * Use case: nested addition information on a domain + * ex: channel event. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_pid(struct mi_writer *writer, pid_t pid , const char *name, + int is_open); +/* + * Machine interface: open a targets element. + * + * writer An instance of a machine interface writer. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_targets_open(struct mi_writer *writer); + +/* + * Machine interface for track/untrack a pid_target + * + * writer An instance of a machine interface writer. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_pid_target(struct mi_writer *writer, pid_t pid, int is_open); + /* * Machine interface for struct lttng_calibrate. *