1 be7cbb4e 2005-07-12 devnull .TH VENTI-LOG 3
4 be7cbb4e 2005-07-12 devnull VtLogChunk,
6 be7cbb4e 2005-07-12 devnull vtlogclose,
7 be7cbb4e 2005-07-12 devnull vtlogdump,
8 be7cbb4e 2005-07-12 devnull vtlognames,
9 be7cbb4e 2005-07-12 devnull vtlogopen,
10 be7cbb4e 2005-07-12 devnull vtlogprint,
11 be7cbb4e 2005-07-12 devnull vtlogremove,
12 be7cbb4e 2005-07-12 devnull vtlogopen,
13 be7cbb4e 2005-07-12 devnull ventilogging \- Venti logs
14 be7cbb4e 2005-07-12 devnull .SH SYNOPSIS
16 be7cbb4e 2005-07-12 devnull #include <u.h>
18 be7cbb4e 2005-07-12 devnull #include <libc.h>
20 be7cbb4e 2005-07-12 devnull #include <venti.h>
21 be7cbb4e 2005-07-12 devnull .ta +\w'\fLVtLog* 'u
24 be7cbb4e 2005-07-12 devnull VtLog* vtlogopen(char *name, uint size);
27 be7cbb4e 2005-07-12 devnull void vtlogprint(VtLog *log, char *fmt, ...);
30 be7cbb4e 2005-07-12 devnull void vtlogclose(VtLog *log);
33 be7cbb4e 2005-07-12 devnull void vtlog(char *name, char *fmt, ...);
36 be7cbb4e 2005-07-12 devnull void vtlogremove(char *name);
39 be7cbb4e 2005-07-12 devnull char** vtlognames(int *n);
42 be7cbb4e 2005-07-12 devnull void vtlogdump(int fd, VtLog *log);
45 be7cbb4e 2005-07-12 devnull extern int ventilogging; /* default 0 */
48 be7cbb4e 2005-07-12 devnull extern char *VtServerLog; /* "libventi/server" */
49 be7cbb4e 2005-07-12 devnull .SH DESCRIPTION
50 be7cbb4e 2005-07-12 devnull These routines provide an in-memory circular log
51 be7cbb4e 2005-07-12 devnull structure used by the Venti library and the Venti server
52 be7cbb4e 2005-07-12 devnull to record events for debugging purposes.
53 3aec33fe 2005-07-18 devnull The logs are named by UTF strings.
55 be7cbb4e 2005-07-12 devnull .I Vtlogopen
56 3aec33fe 2005-07-18 devnull returns a reference to the log with the given
57 be7cbb4e 2005-07-12 devnull .I name .
58 be7cbb4e 2005-07-12 devnull If a log with that name does not exist and
60 3aec33fe 2005-07-18 devnull is non-zero,
61 3aec33fe 2005-07-18 devnull .I vtlogopen
62 3aec33fe 2005-07-18 devnull creates a new log capable of holding at
65 3aec33fe 2005-07-18 devnull bytes and returns it.
66 be7cbb4e 2005-07-12 devnull .I Vtlogclose
67 be7cbb4e 2005-07-12 devnull releases the reference returned by
68 be7cbb4e 2005-07-12 devnull .IR vtlogopen .
70 be7cbb4e 2005-07-12 devnull .I Vtlogprint
71 be7cbb4e 2005-07-12 devnull writes to
72 be7cbb4e 2005-07-12 devnull .IR log ,
73 be7cbb4e 2005-07-12 devnull which must be open.
76 be7cbb4e 2005-07-12 devnull is a convenient packaging of
77 be7cbb4e 2005-07-12 devnull .I vtlogopen
78 be7cbb4e 2005-07-12 devnull followed by
79 be7cbb4e 2005-07-12 devnull .I vtlogprint
81 be7cbb4e 2005-07-12 devnull .IR vtlogclose .
83 be7cbb4e 2005-07-12 devnull .I Vtlogremove
84 be7cbb4e 2005-07-12 devnull removes the log with the given
85 be7cbb4e 2005-07-12 devnull .IR name ,
86 be7cbb4e 2005-07-12 devnull freeing any associated storage.
88 be7cbb4e 2005-07-12 devnull .I Vtlognames
89 be7cbb4e 2005-07-12 devnull returns a list of the names of all the logs.
90 be7cbb4e 2005-07-12 devnull The length of the list is returned in
91 be7cbb4e 2005-07-12 devnull .BI * n \fR.
93 be7cbb4e 2005-07-12 devnull should be freed
94 be7cbb4e 2005-07-12 devnull by calling
95 be7cbb4e 2005-07-12 devnull .I vtfree
96 be7cbb4e 2005-07-12 devnull on the returned pointer.
97 be7cbb4e 2005-07-12 devnull The strings in the list will be freed by this call as well.
98 be7cbb4e 2005-07-12 devnull (It is an error to call
99 be7cbb4e 2005-07-12 devnull .I vtfree
100 be7cbb4e 2005-07-12 devnull on any of the strings in the list.)
102 be7cbb4e 2005-07-12 devnull .I Vtlogdump
104 be7cbb4e 2005-07-12 devnull .IR log ,
105 be7cbb4e 2005-07-12 devnull which must be open, to the file descriptor
106 be7cbb4e 2005-07-12 devnull .IR fd .
109 be7cbb4e 2005-07-12 devnull .I ventilogging
110 be7cbb4e 2005-07-12 devnull is set to zero (the default),
111 be7cbb4e 2005-07-12 devnull .I vtlognames
113 be7cbb4e 2005-07-12 devnull .I vtlogdump
114 be7cbb4e 2005-07-12 devnull can inspect existing logs, but
115 be7cbb4e 2005-07-12 devnull .I vtlogopen
116 be7cbb4e 2005-07-12 devnull always returns nil
118 be7cbb4e 2005-07-12 devnull .I vtlog
119 be7cbb4e 2005-07-12 devnull is a no-op.
120 be7cbb4e 2005-07-12 devnull The other functions are no-ops when
121 be7cbb4e 2005-07-12 devnull passed nil log structures.
123 be7cbb4e 2005-07-12 devnull The server library
125 be7cbb4e 2005-07-12 devnull .IR venti-conn (3)
127 be7cbb4e 2005-07-12 devnull .IR venti-server (3))
128 be7cbb4e 2005-07-12 devnull writes debugging information to the log named
129 be7cbb4e 2005-07-12 devnull .IR VtServerLog ,
130 be7cbb4e 2005-07-12 devnull which defaults to the string
131 3aec33fe 2005-07-18 devnull .RB ` libventi/server '.
132 be7cbb4e 2005-07-12 devnull .SH SOURCE
133 be7cbb4e 2005-07-12 devnull .B \*9/src/libventi
134 be7cbb4e 2005-07-12 devnull .SH SEE ALSO
135 3aec33fe 2005-07-18 devnull .IR venti (3),
136 3aec33fe 2005-07-18 devnull .IR venti (8)