| tventi-log.3 - plan9port - [fork] Plan 9 from user space | |
| git clone git://src.adamsgaard.dk/plan9port | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| tventi-log.3 (2314B) | |
| --- | |
| 1 .TH VENTI-LOG 3 | |
| 2 .SH NAME | |
| 3 VtLog, | |
| 4 VtLogChunk, | |
| 5 vtlog, | |
| 6 vtlogclose, | |
| 7 vtlogdump, | |
| 8 vtlognames, | |
| 9 vtlogopen, | |
| 10 vtlogprint, | |
| 11 vtlogremove, | |
| 12 vtlogopen, | |
| 13 ventilogging \- Venti logs | |
| 14 .SH SYNOPSIS | |
| 15 .ft L | |
| 16 #include <u.h> | |
| 17 .br | |
| 18 #include <libc.h> | |
| 19 .br | |
| 20 #include <venti.h> | |
| 21 .ta +\w'\fLVtLog* 'u | |
| 22 .PP | |
| 23 .B | |
| 24 VtLog* vtlogopen(char *name, uint size); | |
| 25 .PP | |
| 26 .B | |
| 27 void vtlogprint(VtLog *log, char *fmt, ...); | |
| 28 .PP | |
| 29 .B | |
| 30 void vtlogclose(VtLog *log); | |
| 31 .PP | |
| 32 .B | |
| 33 void vtlog(char *name, char *fmt, ...); | |
| 34 .PP | |
| 35 .B | |
| 36 void vtlogremove(char *name); | |
| 37 .PP | |
| 38 .B | |
| 39 char** vtlognames(int *n); | |
| 40 .PP | |
| 41 .B | |
| 42 void vtlogdump(int fd, VtLog *log); | |
| 43 .PP | |
| 44 .B | |
| 45 extern int ventilogging; /* default 0 */ | |
| 46 .PP | |
| 47 .B | |
| 48 extern char *VtServerLog; /* "libventi/server" */ | |
| 49 .SH DESCRIPTION | |
| 50 These routines provide an in-memory circular log | |
| 51 structure used by the Venti library and the Venti server | |
| 52 to record events for debugging purposes. | |
| 53 The logs are named by UTF strings. | |
| 54 .PP | |
| 55 .I Vtlogopen | |
| 56 returns a reference to the log with the given | |
| 57 .I name . | |
| 58 If a log with that name does not exist and | |
| 59 .I size | |
| 60 is non-zero, | |
| 61 .I vtlogopen | |
| 62 creates a new log capable of holding at | |
| 63 least | |
| 64 .I size | |
| 65 bytes and returns it. | |
| 66 .I Vtlogclose | |
| 67 releases the reference returned by | |
| 68 .IR vtlogopen . | |
| 69 .PP | |
| 70 .I Vtlogprint | |
| 71 writes to | |
| 72 .IR log , | |
| 73 which must be open. | |
| 74 .PP | |
| 75 .I Vtlog | |
| 76 is a convenient packaging of | |
| 77 .I vtlogopen | |
| 78 followed by | |
| 79 .I vtlogprint | |
| 80 and | |
| 81 .IR vtlogclose . | |
| 82 .PP | |
| 83 .I Vtlogremove | |
| 84 removes the log with the given | |
| 85 .IR name , | |
| 86 freeing any associated storage. | |
| 87 .PP | |
| 88 .I Vtlognames | |
| 89 returns a list of the names of all the logs. | |
| 90 The length of the list is returned in | |
| 91 .BI * n \fR. | |
| 92 The list | |
| 93 should be freed | |
| 94 by calling | |
| 95 .I vtfree | |
| 96 on the returned pointer. | |
| 97 The strings in the list will be freed by this call as well. | |
| 98 (It is an error to call | |
| 99 .I vtfree | |
| 100 on any of the strings in the list.) | |
| 101 .PP | |
| 102 .I Vtlogdump | |
| 103 prints | |
| 104 .IR log , | |
| 105 which must be open, to the file descriptor | |
| 106 .IR fd . | |
| 107 .PP | |
| 108 If | |
| 109 .I ventilogging | |
| 110 is set to zero (the default), | |
| 111 .I vtlognames | |
| 112 and | |
| 113 .I vtlogdump | |
| 114 can inspect existing logs, but | |
| 115 .I vtlogopen | |
| 116 always returns nil | |
| 117 and | |
| 118 .I vtlog | |
| 119 is a no-op. | |
| 120 The other functions are no-ops when | |
| 121 passed nil log structures. | |
| 122 .PP | |
| 123 The server library | |
| 124 (see | |
| 125 .MR venti-conn (3) | |
| 126 and | |
| 127 .MR venti-server (3) ) | |
| 128 writes debugging information to the log named | |
| 129 .IR VtServerLog , | |
| 130 which defaults to the string | |
| 131 .RB ` libventi/server '. | |
| 132 .SH SOURCE | |
| 133 .B \*9/src/libventi | |
| 134 .SH SEE ALSO | |
| 135 .MR venti (3) , | |
| 136 .MR venti (8) |