|  | 
 NAME     
 |  |  |  | VtLog, VtLogChunk, vtlog, vtlogclose, vtlogdump, vtlognames, vtlogopen,
    vtlogprint, vtlogremove, vtlogopen, ventilogging – Venti logs 
 | 
 SYNOPSIS     
 |  |  |  | #include <u.h> #include <libc.h>
 #include <venti.h> 
    
    
    VtLog* vtlogopen(char *name, uint size); 
    
    
    void    vtlogprint(VtLog *log, char *fmt, ...); 
    
    
    void    vtlogclose(VtLog *log); 
    
    
    void    vtlog(char *name, char *fmt, ...); 
    
    
    void    vtlogremove(char *name); 
    
    
    char** vtlognames(int *n); 
    
    
    void    vtlogdump(int fd, VtLog *log); 
    
    
    extern int ventilogging;     /* default 0 */ 
    
    
    extern char *VtServerLog;     /* "libventi/server" */
 
 | 
 DESCRIPTION     
 |  |  |  | These routines provide an in-memory circular log structure used
    by the Venti library and the Venti server to record events for
    debugging purposes. The logs are named by UTF strings. 
    
    
    Vtlogopen returns a reference to the log with the given name .
    If a log with that name does not exist and size is non-zero, vtlogopen
    creates a new log capable of holding at least size bytes and returns
    it. Vtlogclose releases the reference returned by vtlogopen. 
    
    
    Vtlogprint writes to log, which must be open. 
    
    
    Vtlog is a convenient packaging of vtlogopen followed by vtlogprint
    and vtlogclose. 
    
    
    Vtlogremove removes the log with the given name, freeing any associated
    storage. 
    
    
    Vtlognames returns a list of the names of all the logs. The length
    of the list is returned in *n. The list should be freed by calling
    vtfree on the returned pointer. The strings in the list will be
    freed by this call as well. (It is an error to call vtfree on
    any of the strings in the list.) 
    
    
    Vtlogdump prints log, which must be open, to the file descriptor
    fd. 
    
    
    If ventilogging is set to zero (the default), vtlognames and vtlogdump
    can inspect existing logs, but vtlogopen always returns nil and
    vtlog is a no-op. The other functions are no-ops when passed nil
    log structures. 
    
    
    The server library (see venti-conn(3) and venti-server(3)) writes
    debugging information to the log named VtServerLog, which defaults
    to the string ‘libventi/server’. 
 | 
 SOURCE     
 SEE ALSO    
 |  |