Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/include/libpctx.h
Real path: /usr/include/libpctx.h
Zurück
/* * Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved. */ #ifndef _LIBPCTX_H #define _LIBPCTX_H #include <sys/types.h> #include <fcntl.h> #include <stdarg.h> /* * The process context library allows callers to use the facilities * of /proc to control processes in a simplified way by managing * the process via an event loop. The controlling process expresses * interest in various events which are handled as callbacks by the * library. */ #ifdef __cplusplus extern "C" { #endif typedef struct __pctx pctx_t; /* * A vprintf-like error handling routine can be passed in for use * by more sophisticated callers. If specified as NULL, errors * are written to stderr. */ typedef void (pctx_errfn_t)(const char *__fn, const char *__fmt, va_list __ap); extern pctx_t *pctx_create(const char *__filename, char *const *__argv, void *__arg, int __verbose, pctx_errfn_t *__errfn); extern pctx_t *pctx_capture(pid_t __pid, void *__arg, int __verbose, pctx_errfn_t *__errfn); typedef int pctx_sysc_execfn_t(pctx_t *, pid_t, id_t, char *, void *); typedef void pctx_sysc_forkfn_t(pctx_t *, pid_t, id_t, pid_t, void *); typedef void pctx_sysc_exitfn_t(pctx_t *, pid_t, id_t, int, void *); typedef int pctx_sysc_lwp_createfn_t(pctx_t *, pid_t, id_t, void *); typedef int pctx_init_lwpfn_t(pctx_t *, pid_t, id_t, void *); typedef int pctx_fini_lwpfn_t(pctx_t *, pid_t, id_t, void *); typedef int pctx_sysc_lwp_exitfn_t(pctx_t *, pid_t, id_t, void *); extern void pctx_terminate(pctx_t *); typedef enum { PCTX_NULL_EVENT = 0, PCTX_SYSC_EXEC_EVENT, PCTX_SYSC_FORK_EVENT, PCTX_SYSC_EXIT_EVENT, PCTX_SYSC_LWP_CREATE_EVENT, PCTX_INIT_LWP_EVENT, PCTX_FINI_LWP_EVENT, PCTX_SYSC_LWP_EXIT_EVENT } pctx_event_t; extern int pctx_set_events(pctx_t *__pctx, ...); extern int pctx_run(pctx_t *__pctx, uint_t __msec, uint_t __nsamples, int (*__tick)(pctx_t *, pid_t, id_t, void *)); extern void pctx_release(pctx_t *__pctx); /* * Implementation-private interfaces used by libcpc. */ struct __cpc; extern int __pctx_cpc(pctx_t *, struct __cpc *, int, id_t, void *, void *, void *, int); extern void __pctx_cpc_register_callback(void (*)(struct __cpc *, struct __pctx *)); #ifdef __cplusplus } #endif #endif /* _LIBPCTX_H */