/* Functions that provide the mechanism to parse a syscall XML file
and get its values.
- Copyright (C) 2009-2018 Free Software Foundation, Inc.
+ Copyright (C) 2009-2020 Free Software Foundation, Inc.
This file is part of GDB.
void get_syscall_by_number (struct gdbarch *gdbarch,
int syscall_number, struct syscall *s);
-/* Function that retrieves the syscall number corresponding to the given
- name. It puts the requested information inside 'struct syscall'. */
+/* Function that retrieves the syscall numbers corresponding to the
+ given name. The numbers of all syscalls with either a name or
+ alias equal to SYSCALL_NAME are appended to SYSCALL_NUMBERS. If no
+ matching syscalls are found, return false. */
-void get_syscall_by_name (struct gdbarch *gdbarch,
- const char *syscall_name, struct syscall *s);
+bool get_syscalls_by_name (struct gdbarch *gdbarch, const char *syscall_name,
+ std::vector<int> *syscall_numbers);
/* Function used to retrieve the list of syscalls in the system. This list
is returned as an array of strings. Returns the list of syscalls in the
const char **get_syscall_names (struct gdbarch *gdbarch);
/* Function used to retrieve the list of syscalls of a given group in
- the system. Return a list of syscalls that are element of the
- group, terminated by an empty element. The list is malloc'ed
- and must be freed by the caller. If group doesn't exist, return
- NULL. */
+ the system. The syscall numbers are appended to SYSCALL_NUMBERS.
+ If the group doesn't exist, return false. */
-struct syscall *get_syscalls_by_group (struct gdbarch *gdbarch,
- const char *group);
+bool get_syscalls_by_group (struct gdbarch *gdbarch, const char *group,
+ std::vector<int> *syscall_numbers);
/* Function used to retrieve the list of syscall groups in the system.
Return an array of strings terminated by a NULL element. The list