Rizin
unix-like reverse engineering framework and cli tools
main.c
Go to the documentation of this file.
1
#include <stdio.h>
2
#include <inttypes.h>
3
4
#include <
uv.h
>
5
6
uv_loop_t
*
loop
;
7
uv_process_t
child_req
;
8
uv_process_options_t
options
;
9
10
void
on_exit
(
uv_process_t
*
req
,
int64_t
exit_status
,
int
term_signal) {
11
fprintf(stderr,
"Process exited with status %"
PRId64
", signal %d\n"
,
exit_status
, term_signal);
12
uv_close
((
uv_handle_t
*)
req
,
NULL
);
13
}
14
15
int
main
() {
16
loop
=
uv_default_loop
();
17
18
char
*
args
[3];
19
args
[0] =
"mkdir"
;
20
args
[1] =
"test-dir"
;
21
args
[2] =
NULL
;
22
23
options
.
exit_cb
=
on_exit
;
24
options
.
file
=
"mkdir"
;
25
options
.
args
=
args
;
26
27
int
r
;
28
if
((
r
=
uv_spawn
(
loop
, &
child_req
, &
options
))) {
29
fprintf(stderr,
"%s\n"
,
uv_strerror
(
r
));
30
return
1;
31
}
else
{
32
fprintf(stderr,
"Launched process with ID %d\n"
,
child_req
.
pid
);
33
}
34
35
return
uv_run
(
loop
,
UV_RUN_DEFAULT
);
36
}
NULL
#define NULL
Definition:
cris-opc.c:27
r
#define r
Definition:
crypto_rc6.c:12
req
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len static semflg const void static shmflg const struct timespec req
Definition:
sflib.h:128
PRId64
#define PRId64
Definition:
macros.h:17
main
int main(int argc, const char **argv)
Definition:
main.c:340
int64_t
long int64_t
Definition:
sftypes.h:32
uv_handle_s
Definition:
uv.h:444
uv_loop_s
Definition:
uv.h:1780
uv_process_options_s
Definition:
uv.h:951
uv_process_options_s::file
const char * file
Definition:
uv.h:953
uv_process_options_s::args
char ** args
Definition:
uv.h:960
uv_process_options_s::exit_cb
uv_exit_cb exit_cb
Definition:
uv.h:952
uv_process_s
Definition:
uv.h:1048
uv_process_s::pid
int pid
Definition:
uv.h:1051
options
uv_process_options_t options
Definition:
main.c:9
loop
uv_loop_t * loop
Definition:
main.c:7
child_req
uv_process_t child_req
Definition:
main.c:8
on_exit
void on_exit(uv_process_t *req, int64_t exit_status, int term_signal)
Definition:
main.c:11
args
struct Arg * args
Definition:
mipsasm.c:18
exit_status
static enum exit_status_type exit_status
Exit status to use. This can be changed with set_exit_status().
Definition:
main.c:17
uv.h
UV_RUN_DEFAULT
@ UV_RUN_DEFAULT
Definition:
uv.h:255
uv_spawn
UV_EXTERN int uv_spawn(uv_loop_t *loop, uv_process_t *handle, const uv_process_options_t *options)
Definition:
process.c:408
uv_run
UV_EXTERN int uv_run(uv_loop_t *, uv_run_mode mode)
Definition:
core.c:365
uv_close
UV_EXTERN void uv_close(uv_handle_t *handle, uv_close_cb close_cb)
Definition:
core.c:108
uv_strerror
UV_EXTERN const char * uv_strerror(int err)
Definition:
uv-common.c:212
uv_default_loop
UV_EXTERN uv_loop_t * uv_default_loop(void)
Definition:
uv-common.c:763
subprojects
libuv-v1.40.0
docs
code
spawn
main.c
Generated by
1.9.1