return BT_CB_ERROR_STOP;
}
-
enum bt_cb_ret handle_sys_open(struct bt_ctf_event *call_data,
void *private_data)
{
return BT_CB_ERROR_STOP;
}
+enum bt_cb_ret handle_sys_socket(struct bt_ctf_event *call_data,
+ void *private_data)
+{
+
+ struct processtop *tmp;
+ unsigned long timestamp;
+ uint64_t cpu_id;
+ int64_t tid;
+ char *procname, *hostname;
+ char *file;
+
+ timestamp = bt_ctf_get_timestamp(call_data);
+ if (timestamp == -1ULL)
+ goto error;
+
+ tid = get_context_tid(call_data);
+ cpu_id = get_cpu_id(call_data);
+
+ procname = get_context_comm(call_data);
+ hostname = get_context_hostname(call_data);
+
+ file = strdup("socket");
+
+ tmp = get_proc(<tngtop, tid, procname, timestamp, hostname);
+ if (!tmp)
+ goto end;
+
+ tmp->syscall_info = create_syscall_info(__NR_open, cpu_id, tid, -1);
+
+ tmp->files_history = create_file(tmp->files_history, file);
+
+end:
+ return BT_CB_OK;
+
+error:
+ return BT_CB_ERROR_STOP;
+}
enum bt_cb_ret handle_sys_close(struct bt_ctf_event *call_data,
void *private_data)
void *private_data);
enum bt_cb_ret handle_sys_open(struct bt_ctf_event *call_data,
void *private_data);
+enum bt_cb_ret handle_sys_socket(struct bt_ctf_event *call_data,
+ void *private_data);
enum bt_cb_ret handle_sys_close(struct bt_ctf_event *call_data,
void *private_data);
enum bt_cb_ret handle_statedump_file_descriptor(struct bt_ctf_event *call_data,
bt_ctf_iter_add_callback(iter,
g_quark_from_static_string("sys_open"),
NULL, 0, handle_sys_open, NULL, NULL, NULL);
+ bt_ctf_iter_add_callback(iter,
+ g_quark_from_static_string("sys_socket"),
+ NULL, 0, handle_sys_socket, NULL, NULL, NULL);
bt_ctf_iter_add_callback(iter,
g_quark_from_static_string("sys_close"),
NULL, 0, handle_sys_close, NULL, NULL, NULL);