Jun 10, 2008, 6:21:11 PM (13 years ago)
Sam Hocevar
  • Started writing a manual page for libzzuf.
1 edited


  • zzuf/trunk/doc/zzuf.1

    r2345 r2353  
    409409behaviour with multithreaded applications where more than one thread does file
    410410descriptor operations is undefined.
    411 .SH NOTES
    412 In order to intercept file and network operations, signal handlers and memory
    413 allocations, \fBzzuf\fR diverts and reimplements the following functions,
    414 which can be private libc symbols, too:
    415 .TP
    416 Unix file descriptor handling:
    417 \fBopen\fR(), \fBdup\fR(), \fBdup2\fR(), \fBlseek\fR(), \fBread\fR(),
    418 \fBreadv\fR(), \fBpread\fR(), \fBaccept\fR(), \fBsocket\fR(), \fBrecv\fR(),
    419 \fBrecvfrom\fR(), \fBrecvmsg\fR(), \fBaio_read\fR(), \fBaio_return\fR(),
    420 \fBclose\fR()
    421 .TP
    422 Standard IO streams:
    423 \fBfopen\fR(), \fBfreopen\fR(), \fBfseek\fR(), \fBfseeko\fR(), \fBrewind\fR(),
    424 \fBfread\fR(), \fBgetc\fR(), \fBgetchar\fR(), \fBfgetc\fR(), \fBfgets\fR(),
    425 \fBungetc\fR(), \fBfclose\fR()
    426 .TP
    427 Memory management:
    428 \fBmmap\fR(), \fBmunmap\fR(), \fBmalloc\fR(), \fBcalloc\fR(), \fBvalloc\fR(),
    429 \fBfree\fR(), \fBmemalign\fR(), \fBposix_memalign\fR()
    430 .TP
    431 Linux-specific:
    432 \fBopen64\fR(), \fBlseek64\fR(), \fBmmap64\fR(), \fB_IO_getc\fR(),
    433 \fBgetline\fR(), \fBgetdelim\fR(), \fB__getdelim\fR(), \fBgetc_unlocked\fR(),
    434 \fBgetchar_unlocked\fR(), \fBfgetc_unlocked\fR(), \fBfgets_unlocked\fR(),
    435 \fBfread_unlocked\fR()
    436 .TP
    437 BSD-specific:
    438 \fBfgetln\fR(), \fB__srefill\fR()
    439 .TP
    440 Mac OS X-specific:
    441 \fBmap_fd\fR()
    442 .TP
    443 Signal handling:
    444 \fBsignal\fR(), \fBsigaction\fR()
    445 .PP
    446 If an application manipulates file descriptors (reading data, seeking around)
    447 using functions that are not in that list, \fBzzuf\fR will not fuzz its
    448 input consistently and the results should not be trusted. You can use a tool
    449 such as \fBltrace(1)\fR on Linux to know the missing functions.
    450 .PP
    451 On BSD systems, such as FreeBSD or Mac OS X, \fB__srefill\fR() is enough to
    452 monitor all standard IO streams functions. On other systems, such as Linux,
    453 each function is reimplemented on a case by case basis. One important
    454 unimplemented function is \fBfscanf\fR(), because of its complexity. Missing
    455 functions will be added upon user request.
    456411.SH HISTORY
    458413\fBzzuf\fR started its life in 2002 as the \fBstreamfucker\fR tool, a small
    459414multimedia stream corrupter used to find bugs in the VLC media player.
     415.SH SEE ALSO
    460418.SH AUTHOR
Note: See TracChangeset for help on using the changeset viewer.