tventi-log.3 - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) 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)