1// SPDX-License-Identifier: GPL-3.0-or-later
2
3#include "mosapi.h"
4
5#include <mos/moslib_global.hpp>
6
7int parse_string(const char *input)
8{
9 int value = 0;
10 for (int i = 0; input[i] != '\0'; i++)
11 {
12 if (input[i] >= '0' && input[i] <= '9')
13 {
14 value = value * 10 + (input[i] - '0');
15 }
16 else
17 {
18 return -1;
19 }
20 }
21 return value;
22}
23
24int main(int argc, char **argv)
25{
26 if (argc != 3)
27 {
28 printf(format: "Usage: %s <pid> <signal>\n", argv[0]);
29 return 1;
30 }
31
32 const int pid = parse_string(input: argv[1]);
33 const int signal = parse_string(input: argv[2]);
34
35 if (pid == -1 || signal == -1)
36 {
37 puts(s: "invalid argument");
38 return 1;
39 }
40
41 syscall_signal_process(pid, signum: signal);
42 puts(s: "Signal sent");
43 return 0;
44}
45