grpc
third_party
libuv
docs
code
plugin
libuv/docs/code/plugin/main.c
Go to the documentation of this file.
1
#include <stdio.h>
2
#include <
string.h
>
3
#include <stdlib.h>
4
5
#include <
uv.h
>
6
7
#include "
plugin.h
"
8
9
typedef
void (*
init_plugin_function
)();
10
11
void
mfp_register
(
const
char
*
name
) {
12
fprintf(
stderr
,
"Registered plugin \"%s\"\n"
,
name
);
13
}
14
15
int
main
(
int
argc,
char
**argv) {
16
if
(argc == 1) {
17
fprintf(
stderr
,
"Usage: %s [plugin1] [plugin2] ...\n"
, argv[0]);
18
return
0;
19
}
20
21
uv_lib_t
*lib = (
uv_lib_t
*) malloc(
sizeof
(
uv_lib_t
));
22
while
(--argc) {
23
fprintf(
stderr
,
"Loading %s\n"
, argv[argc]);
24
if
(
uv_dlopen
(argv[argc], lib)) {
25
fprintf(
stderr
,
"Error: %s\n"
,
uv_dlerror
(lib));
26
continue
;
27
}
28
29
init_plugin_function
init_plugin;
30
if
(
uv_dlsym
(lib,
"initialize"
, (
void
**) &init_plugin)) {
31
fprintf(
stderr
,
"dlsym error: %s\n"
,
uv_dlerror
(lib));
32
continue
;
33
}
34
35
init_plugin();
36
}
37
38
return
0;
39
}
mfp_register
void mfp_register(const char *name)
Definition:
libuv/docs/code/plugin/main.c:11
string.h
init_plugin_function
void(* init_plugin_function)()
Definition:
libuv/docs/code/plugin/main.c:9
setup.name
name
Definition:
setup.py:542
uv_dlopen
UV_EXTERN int uv_dlopen(const char *filename, uv_lib_t *lib)
Definition:
unix/dl.c:33
python_utils.port_server.stderr
stderr
Definition:
port_server.py:51
uv_lib_t
Definition:
unix.h:216
main
int main(int argc, char **argv)
Definition:
libuv/docs/code/plugin/main.c:15
plugin.h
uv.h
uv_dlsym
UV_EXTERN int uv_dlsym(uv_lib_t *lib, const char *name, void **ptr)
Definition:
unix/dl.c:53
uv_dlerror
const UV_EXTERN char * uv_dlerror(const uv_lib_t *lib)
Definition:
unix/dl.c:60
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:17