diff options
author | Sverker Eriksson <[email protected]> | 2016-11-17 16:50:36 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-11-17 16:58:11 +0100 |
commit | 9a1110de820988afb4e9d195a59872b214de2d26 (patch) | |
tree | 2a0badf2960e374a71eee53d17e454de260f48a0 /erts/emulator/beam/sys.h | |
parent | 4d7f8c2ab1a7b8c204d932166837b58d08de6506 (diff) | |
download | otp-9a1110de820988afb4e9d195a59872b214de2d26.tar.gz otp-9a1110de820988afb4e9d195a59872b214de2d26.tar.bz2 otp-9a1110de820988afb4e9d195a59872b214de2d26.zip |
erts: Refactor crash dumping with cbprintf
Instead of passing around a file descriptor
use a function pointer to facilitate more advanced
backend write logic such as size limitation or compression.
Diffstat (limited to 'erts/emulator/beam/sys.h')
-rw-r--r-- | erts/emulator/beam/sys.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h index dfe82cab44..4557f1534d 100644 --- a/erts/emulator/beam/sys.h +++ b/erts/emulator/beam/sys.h @@ -610,22 +610,21 @@ Uint erts_sys_misc_mem_sz(void); #include "erl_printf.h" /* Io constants to erts_print and erts_putc */ -#define ERTS_PRINT_STDERR (2) -#define ERTS_PRINT_STDOUT (1) -#define ERTS_PRINT_FILE (-1) -#define ERTS_PRINT_SBUF (-2) -#define ERTS_PRINT_SNBUF (-3) -#define ERTS_PRINT_DSBUF (-4) - -#define ERTS_PRINT_MIN ERTS_PRINT_DSBUF +#define ERTS_PRINT_STDERR ((fmtfn_t)0) +#define ERTS_PRINT_STDOUT ((fmtfn_t)1) +#define ERTS_PRINT_FILE ((fmtfn_t)2) +#define ERTS_PRINT_SBUF ((fmtfn_t)3) +#define ERTS_PRINT_SNBUF ((fmtfn_t)4) +#define ERTS_PRINT_DSBUF ((fmtfn_t)5) +#define ERTS_PRINT_FD ((fmtfn_t)6) typedef struct { char *buf; size_t size; } erts_print_sn_buf; -int erts_print(int to, void *arg, char *format, ...); /* in utils.c */ -int erts_putc(int to, void *arg, char); /* in utils.c */ +int erts_print(fmtfn_t to, void *arg, char *format, ...); /* in utils.c */ +int erts_putc(fmtfn_t to, void *arg, char); /* in utils.c */ /* logger stuff is declared here instead of in global.h, so sys files won't have to include global.h */ |