summaryrefslogtreecommitdiffstats
path: root/winsup/testsuite/libltp/lib/write_log.c
diff options
context:
space:
mode:
authorcvs2svn <>2014-02-18 19:58:41 +0000
committercvs2svn <>2014-02-18 19:58:41 +0000
commitb5279ecc51ff751ccd052fbb7c20efd529575f7e (patch)
tree64141e96a5d64ae59fb7f410270e4daa41878a03 /winsup/testsuite/libltp/lib/write_log.c
parenta2a48cb593a9b3cc3f5c63c39f52c32db31cec50 (diff)
downloadcygnal-cygwin-pre-user-db.tar.gz
cygnal-cygwin-pre-user-db.tar.bz2
cygnal-cygwin-pre-user-db.zip
This commit was manufactured by cvs2svn to create tag 'cygwin-pre-user-db'.cygwin-pre-user-db
Sprout from cygwin-1_7_29-release-branchpoint 2014-02-18 19:58:40 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'cygwin-1_7_29' Cherrypick from master 2014-02-08 22:25:11 UTC Corinna Vinschen <corinna@vinschen.de> 'Fix ChangeLog': winsup/cygwin/ChangeLog winsup/cygwin/miscfuncs.cc winsup/cygwin/miscfuncs.h winsup/cygwin/mount.cc Delete: winsup/COPYING winsup/CYGWIN_LICENSE winsup/ChangeLog winsup/Makefile.common winsup/Makefile.in winsup/README winsup/acinclude.m4 winsup/aclocal.m4 winsup/autogen.sh winsup/c++wrap winsup/ccwrap winsup/config.guess winsup/config.sub winsup/configure winsup/configure.ac winsup/configure.cygwin winsup/cygserver/ChangeLog winsup/cygserver/ChangeLog.64bit winsup/cygserver/Makefile.in winsup/cygserver/README winsup/cygserver/aclocal.m4 winsup/cygserver/autogen.sh winsup/cygserver/bsd_helper.cc winsup/cygserver/bsd_helper.h winsup/cygserver/bsd_log.cc winsup/cygserver/bsd_log.h winsup/cygserver/bsd_mutex.cc winsup/cygserver/bsd_mutex.h winsup/cygserver/client.cc winsup/cygserver/configure winsup/cygserver/configure.ac winsup/cygserver/cygserver-config winsup/cygserver/cygserver.cc winsup/cygserver/cygserver.conf winsup/cygserver/msg.cc winsup/cygserver/process.cc winsup/cygserver/process.h winsup/cygserver/sem.cc winsup/cygserver/setpwd.cc winsup/cygserver/shm.cc winsup/cygserver/sysv_msg.cc winsup/cygserver/sysv_sem.cc winsup/cygserver/sysv_shm.cc winsup/cygserver/threaded_queue.cc winsup/cygserver/threaded_queue.h winsup/cygserver/transport.cc winsup/cygserver/transport.h winsup/cygserver/transport_pipes.cc winsup/cygserver/transport_pipes.h winsup/cygserver/woutsup.h winsup/cygwin/release/1.7.29 winsup/doc/.cvsignore winsup/doc/ChangeLog winsup/doc/Makefile.in winsup/doc/README winsup/doc/Wishlist winsup/doc/aclocal.m4 winsup/doc/bodysnatcher.pl winsup/doc/configure winsup/doc/configure.ac winsup/doc/cygserver.xml winsup/doc/cygwin-api.in.xml winsup/doc/cygwin-ug-net.xml winsup/doc/cygwin.xsl winsup/doc/cygwinenv.xml winsup/doc/dll.xml winsup/doc/doctool.c winsup/doc/doctool.txt winsup/doc/effectively.xml winsup/doc/faq-api.xml winsup/doc/faq-copyright.xml winsup/doc/faq-programming.xml winsup/doc/faq-resources.xml winsup/doc/faq-setup.xml winsup/doc/faq-using.xml winsup/doc/faq-what.xml winsup/doc/faq.xml winsup/doc/fhandler-tut.txt winsup/doc/filemodes.xml winsup/doc/fo.xsl winsup/doc/gcc.xml winsup/doc/gdb.xml winsup/doc/highlights.xml winsup/doc/legal.xml winsup/doc/new-features.xml winsup/doc/ntsec.xml winsup/doc/ov-ex-unix.xml winsup/doc/ov-ex-win.xml winsup/doc/overview.xml winsup/doc/pathnames.xml winsup/doc/programming.xml winsup/doc/setup-env.xml winsup/doc/setup-files.xml winsup/doc/setup-locale.xml winsup/doc/setup-maxmem.xml winsup/doc/setup-net.xml winsup/doc/specialnames.xml winsup/doc/textbinary.xml winsup/doc/ug-info.xml winsup/doc/using.xml winsup/doc/windres.xml winsup/doc/xidepend winsup/install-sh winsup/lsaauth/ChangeLog winsup/lsaauth/ChangeLog.64bit winsup/lsaauth/Makefile.in winsup/lsaauth/aclocal.m4 winsup/lsaauth/configure winsup/lsaauth/configure.ac winsup/lsaauth/cyglsa-config winsup/lsaauth/cyglsa.c winsup/lsaauth/cyglsa.din winsup/lsaauth/cyglsa64.def winsup/testsuite/ChangeLog winsup/testsuite/Makefile.in winsup/testsuite/README winsup/testsuite/aclocal.m4 winsup/testsuite/config/default.exp winsup/testsuite/configure winsup/testsuite/configure.ac winsup/testsuite/cygrun.c winsup/testsuite/libltp/include/dataascii.h winsup/testsuite/libltp/include/databin.h winsup/testsuite/libltp/include/file_lock.h winsup/testsuite/libltp/include/forker.h winsup/testsuite/libltp/include/open_flags.h winsup/testsuite/libltp/include/pattern.h winsup/testsuite/libltp/include/random_range.h winsup/testsuite/libltp/include/rmobj.h winsup/testsuite/libltp/include/search_path.h winsup/testsuite/libltp/include/str_to_bytes.h winsup/testsuite/libltp/include/string_to_tokens.h winsup/testsuite/libltp/include/test.h winsup/testsuite/libltp/include/tlibio.h winsup/testsuite/libltp/include/usctest.h winsup/testsuite/libltp/include/write_log.h winsup/testsuite/libltp/lib/dataascii.c winsup/testsuite/libltp/lib/databin.c winsup/testsuite/libltp/lib/datapid.c winsup/testsuite/libltp/lib/forker.c winsup/testsuite/libltp/lib/get_high_address.c winsup/testsuite/libltp/lib/libtestsuite.c winsup/testsuite/libltp/lib/open_flags.c winsup/testsuite/libltp/lib/parse_opts.c winsup/testsuite/libltp/lib/pattern.c winsup/testsuite/libltp/lib/rmobj.c winsup/testsuite/libltp/lib/search_path.c winsup/testsuite/libltp/lib/str_to_bytes.c winsup/testsuite/libltp/lib/string_to_tokens.c winsup/testsuite/libltp/lib/tst_res.c winsup/testsuite/libltp/lib/tst_sig.c winsup/testsuite/libltp/lib/tst_tmpdir.c winsup/testsuite/libltp/lib/write_log.c winsup/testsuite/winsup.api/checksignal.c winsup/testsuite/winsup.api/crlf.c winsup/testsuite/winsup.api/cygload.cc winsup/testsuite/winsup.api/cygload.exp winsup/testsuite/winsup.api/cygload.h winsup/testsuite/winsup.api/devdsp.c winsup/testsuite/winsup.api/devdsp_okay.h winsup/testsuite/winsup.api/devzero.c winsup/testsuite/winsup.api/iospeed.c winsup/testsuite/winsup.api/known_bugs.tcl winsup/testsuite/winsup.api/ltp/access01.c winsup/testsuite/winsup.api/ltp/access03.c winsup/testsuite/winsup.api/ltp/access04.c winsup/testsuite/winsup.api/ltp/access05.c winsup/testsuite/winsup.api/ltp/alarm01.c winsup/testsuite/winsup.api/ltp/alarm02.c winsup/testsuite/winsup.api/ltp/alarm03.c winsup/testsuite/winsup.api/ltp/alarm07.c winsup/testsuite/winsup.api/ltp/asyncio02.c winsup/testsuite/winsup.api/ltp/chdir02.c winsup/testsuite/winsup.api/ltp/chdir04.c winsup/testsuite/winsup.api/ltp/chmod01.c winsup/testsuite/winsup.api/ltp/chmod02.c winsup/testsuite/winsup.api/ltp/chown01.c winsup/testsuite/winsup.api/ltp/close01.c winsup/testsuite/winsup.api/ltp/close02.c winsup/testsuite/winsup.api/ltp/close08.c winsup/testsuite/winsup.api/ltp/creat01.c winsup/testsuite/winsup.api/ltp/creat03.c winsup/testsuite/winsup.api/ltp/creat09.c winsup/testsuite/winsup.api/ltp/dup01.c winsup/testsuite/winsup.api/ltp/dup02.c winsup/testsuite/winsup.api/ltp/dup03.c winsup/testsuite/winsup.api/ltp/dup04.c winsup/testsuite/winsup.api/ltp/dup05.c winsup/testsuite/winsup.api/ltp/execl01.c winsup/testsuite/winsup.api/ltp/execle01.c winsup/testsuite/winsup.api/ltp/execlp01.c winsup/testsuite/winsup.api/ltp/execv01.c winsup/testsuite/winsup.api/ltp/execve01.c winsup/testsuite/winsup.api/ltp/execvp01.c winsup/testsuite/winsup.api/ltp/exit01.c winsup/testsuite/winsup.api/ltp/exit02.c winsup/testsuite/winsup.api/ltp/fchdir01.c winsup/testsuite/winsup.api/ltp/fchdir02.c winsup/testsuite/winsup.api/ltp/fchmod01.c winsup/testsuite/winsup.api/ltp/fchown01.c winsup/testsuite/winsup.api/ltp/fcntl02.c winsup/testsuite/winsup.api/ltp/fcntl03.c winsup/testsuite/winsup.api/ltp/fcntl04.c winsup/testsuite/winsup.api/ltp/fcntl05.c winsup/testsuite/winsup.api/ltp/fcntl07.c winsup/testsuite/winsup.api/ltp/fcntl07B.c winsup/testsuite/winsup.api/ltp/fcntl08.c winsup/testsuite/winsup.api/ltp/fcntl09.c winsup/testsuite/winsup.api/ltp/fcntl10.c winsup/testsuite/winsup.api/ltp/fork01.c winsup/testsuite/winsup.api/ltp/fork02.c winsup/testsuite/winsup.api/ltp/fork03.c winsup/testsuite/winsup.api/ltp/fork04.c winsup/testsuite/winsup.api/ltp/fork06.c winsup/testsuite/winsup.api/ltp/fork07.c winsup/testsuite/winsup.api/ltp/fork09.c winsup/testsuite/winsup.api/ltp/fork10.c winsup/testsuite/winsup.api/ltp/fork11.c winsup/testsuite/winsup.api/ltp/fpathconf01.c winsup/testsuite/winsup.api/ltp/fstat01.c winsup/testsuite/winsup.api/ltp/fstat02.c winsup/testsuite/winsup.api/ltp/fstat03.c winsup/testsuite/winsup.api/ltp/fstat04.c winsup/testsuite/winsup.api/ltp/fsync01.c winsup/testsuite/winsup.api/ltp/ftruncate01.c winsup/testsuite/winsup.api/ltp/ftruncate02.c winsup/testsuite/winsup.api/ltp/ftruncate03.c winsup/testsuite/winsup.api/ltp/getegid01.c winsup/testsuite/winsup.api/ltp/geteuid01.c winsup/testsuite/winsup.api/ltp/getgid01.c winsup/testsuite/winsup.api/ltp/getgid02.c winsup/testsuite/winsup.api/ltp/getgid03.c winsup/testsuite/winsup.api/ltp/getgroups01.c winsup/testsuite/winsup.api/ltp/getgroups02.c winsup/testsuite/winsup.api/ltp/gethostid01.c winsup/testsuite/winsup.api/ltp/gethostname01.c winsup/testsuite/winsup.api/ltp/getpgid01.c winsup/testsuite/winsup.api/ltp/getpgid02.c winsup/testsuite/winsup.api/ltp/getpgrp01.c winsup/testsuite/winsup.api/ltp/getpid01.c winsup/testsuite/winsup.api/ltp/getpid02.c winsup/testsuite/winsup.api/ltp/getppid01.c winsup/testsuite/winsup.api/ltp/getppid02.c winsup/testsuite/winsup.api/ltp/getuid01.c winsup/testsuite/winsup.api/ltp/getuid02.c winsup/testsuite/winsup.api/ltp/getuid03.c winsup/testsuite/winsup.api/ltp/kill01.c winsup/testsuite/winsup.api/ltp/kill02.c winsup/testsuite/winsup.api/ltp/kill03.c winsup/testsuite/winsup.api/ltp/kill04.c winsup/testsuite/winsup.api/ltp/kill09.c winsup/testsuite/winsup.api/ltp/link02.c winsup/testsuite/winsup.api/ltp/link03.c winsup/testsuite/winsup.api/ltp/link04.c winsup/testsuite/winsup.api/ltp/link05.c winsup/testsuite/winsup.api/ltp/lseek01.c winsup/testsuite/winsup.api/ltp/lseek02.c winsup/testsuite/winsup.api/ltp/lseek03.c winsup/testsuite/winsup.api/ltp/lseek04.c winsup/testsuite/winsup.api/ltp/lseek05.c winsup/testsuite/winsup.api/ltp/lseek06.c winsup/testsuite/winsup.api/ltp/lseek07.c winsup/testsuite/winsup.api/ltp/lseek08.c winsup/testsuite/winsup.api/ltp/lseek09.c winsup/testsuite/winsup.api/ltp/lseek10.c winsup/testsuite/winsup.api/ltp/lstat02.c winsup/testsuite/winsup.api/ltp/mkdir01.c winsup/testsuite/winsup.api/ltp/mkdir08.c winsup/testsuite/winsup.api/ltp/mknod01.c winsup/testsuite/winsup.api/ltp/mmap001.c winsup/testsuite/winsup.api/ltp/mmap02.c winsup/testsuite/winsup.api/ltp/mmap03.c winsup/testsuite/winsup.api/ltp/mmap04.c winsup/testsuite/winsup.api/ltp/mmap05.c winsup/testsuite/winsup.api/ltp/mmap06.c winsup/testsuite/winsup.api/ltp/mmap07.c winsup/testsuite/winsup.api/ltp/mmap08.c winsup/testsuite/winsup.api/ltp/munmap01.c winsup/testsuite/winsup.api/ltp/munmap02.c winsup/testsuite/winsup.api/ltp/nice05.c winsup/testsuite/winsup.api/ltp/open02.c winsup/testsuite/winsup.api/ltp/open03.c winsup/testsuite/winsup.api/ltp/pathconf01.c winsup/testsuite/winsup.api/ltp/pause01.c winsup/testsuite/winsup.api/ltp/pipe01.c winsup/testsuite/winsup.api/ltp/pipe08.c winsup/testsuite/winsup.api/ltp/pipe09.c winsup/testsuite/winsup.api/ltp/pipe10.c winsup/testsuite/winsup.api/ltp/pipe11.c winsup/testsuite/winsup.api/ltp/poll01.c winsup/testsuite/winsup.api/ltp/read01.c winsup/testsuite/winsup.api/ltp/read04.c winsup/testsuite/winsup.api/ltp/readdir01.c winsup/testsuite/winsup.api/ltp/readlink01.c winsup/testsuite/winsup.api/ltp/readlink02.c winsup/testsuite/winsup.api/ltp/readlink03.c winsup/testsuite/winsup.api/ltp/rename01.c winsup/testsuite/winsup.api/ltp/rename02.c winsup/testsuite/winsup.api/ltp/rename08.c winsup/testsuite/winsup.api/ltp/rename10.c winsup/testsuite/winsup.api/ltp/rmdir01.c winsup/testsuite/winsup.api/ltp/rmdir04.c winsup/testsuite/winsup.api/ltp/rmdir05.c winsup/testsuite/winsup.api/ltp/sbrk01.c winsup/testsuite/winsup.api/ltp/select01.c winsup/testsuite/winsup.api/ltp/select02.c winsup/testsuite/winsup.api/ltp/select03.c winsup/testsuite/winsup.api/ltp/setgid01.c winsup/testsuite/winsup.api/ltp/setgroups01.c winsup/testsuite/winsup.api/ltp/setpgid01.c winsup/testsuite/winsup.api/ltp/setregid01.c winsup/testsuite/winsup.api/ltp/setreuid01.c winsup/testsuite/winsup.api/ltp/setuid01.c winsup/testsuite/winsup.api/ltp/setuid02.c winsup/testsuite/winsup.api/ltp/signal03.c winsup/testsuite/winsup.api/ltp/stat01.c winsup/testsuite/winsup.api/ltp/stat02.c winsup/testsuite/winsup.api/ltp/stat03.c winsup/testsuite/winsup.api/ltp/stat05.c winsup/testsuite/winsup.api/ltp/stat06.c winsup/testsuite/winsup.api/ltp/symlink01.c winsup/testsuite/winsup.api/ltp/symlink02.c winsup/testsuite/winsup.api/ltp/symlink03.c winsup/testsuite/winsup.api/ltp/symlink04.c winsup/testsuite/winsup.api/ltp/symlink05.c winsup/testsuite/winsup.api/ltp/sync01.c winsup/testsuite/winsup.api/ltp/sync02.c winsup/testsuite/winsup.api/ltp/time01.c winsup/testsuite/winsup.api/ltp/time02.c winsup/testsuite/winsup.api/ltp/times01.c winsup/testsuite/winsup.api/ltp/times02.c winsup/testsuite/winsup.api/ltp/times03.c winsup/testsuite/winsup.api/ltp/truncate01.c winsup/testsuite/winsup.api/ltp/truncate02.c winsup/testsuite/winsup.api/ltp/ulimit01.c winsup/testsuite/winsup.api/ltp/umask01.c winsup/testsuite/winsup.api/ltp/umask02.c winsup/testsuite/winsup.api/ltp/umask03.c winsup/testsuite/winsup.api/ltp/uname01.c winsup/testsuite/winsup.api/ltp/unlink05.c winsup/testsuite/winsup.api/ltp/unlink06.c winsup/testsuite/winsup.api/ltp/unlink07.c winsup/testsuite/winsup.api/ltp/unlink08.c winsup/testsuite/winsup.api/ltp/vfork01.c winsup/testsuite/winsup.api/ltp/wait02.c winsup/testsuite/winsup.api/ltp/wait401.c winsup/testsuite/winsup.api/ltp/wait402.c winsup/testsuite/winsup.api/ltp/write01.c winsup/testsuite/winsup.api/ltp/write02.c winsup/testsuite/winsup.api/ltp/write03.c winsup/testsuite/winsup.api/mmaptest01.c winsup/testsuite/winsup.api/mmaptest02.c winsup/testsuite/winsup.api/mmaptest03.c winsup/testsuite/winsup.api/mmaptest04.c winsup/testsuite/winsup.api/msgtest.c winsup/testsuite/winsup.api/nullgetcwd.c winsup/testsuite/winsup.api/pthread/cancel1.c winsup/testsuite/winsup.api/pthread/cancel10.c winsup/testsuite/winsup.api/pthread/cancel11.c winsup/testsuite/winsup.api/pthread/cancel12.c winsup/testsuite/winsup.api/pthread/cancel2.c winsup/testsuite/winsup.api/pthread/cancel3.c winsup/testsuite/winsup.api/pthread/cancel4.c winsup/testsuite/winsup.api/pthread/cancel5.c winsup/testsuite/winsup.api/pthread/cancel6.c winsup/testsuite/winsup.api/pthread/cancel7.c winsup/testsuite/winsup.api/pthread/cancel8.c winsup/testsuite/winsup.api/pthread/cancel9.c winsup/testsuite/winsup.api/pthread/cleanup2.c winsup/testsuite/winsup.api/pthread/cleanup3.c winsup/testsuite/winsup.api/pthread/condvar1.c winsup/testsuite/winsup.api/pthread/condvar2.c winsup/testsuite/winsup.api/pthread/condvar2_1.c winsup/testsuite/winsup.api/pthread/condvar3.c winsup/testsuite/winsup.api/pthread/condvar3_1.c winsup/testsuite/winsup.api/pthread/condvar3_2.c winsup/testsuite/winsup.api/pthread/condvar3_3.c winsup/testsuite/winsup.api/pthread/condvar4.c winsup/testsuite/winsup.api/pthread/condvar5.c winsup/testsuite/winsup.api/pthread/condvar6.c winsup/testsuite/winsup.api/pthread/condvar7.c winsup/testsuite/winsup.api/pthread/condvar8.c winsup/testsuite/winsup.api/pthread/condvar9.c winsup/testsuite/winsup.api/pthread/count1.c winsup/testsuite/winsup.api/pthread/create1.c winsup/testsuite/winsup.api/pthread/create2.c winsup/testsuite/winsup.api/pthread/equal1.c winsup/testsuite/winsup.api/pthread/exit1.c winsup/testsuite/winsup.api/pthread/exit2.c winsup/testsuite/winsup.api/pthread/exit3.c winsup/testsuite/winsup.api/pthread/inherit1.c winsup/testsuite/winsup.api/pthread/join0.c winsup/testsuite/winsup.api/pthread/join1.c winsup/testsuite/winsup.api/pthread/join2.c winsup/testsuite/winsup.api/pthread/mainthreadexits.c winsup/testsuite/winsup.api/pthread/mutex1.c winsup/testsuite/winsup.api/pthread/mutex1d.c winsup/testsuite/winsup.api/pthread/mutex1e.c winsup/testsuite/winsup.api/pthread/mutex1n.c winsup/testsuite/winsup.api/pthread/mutex1r.c winsup/testsuite/winsup.api/pthread/mutex2.c winsup/testsuite/winsup.api/pthread/mutex3.c winsup/testsuite/winsup.api/pthread/mutex4.c winsup/testsuite/winsup.api/pthread/mutex5.c winsup/testsuite/winsup.api/pthread/mutex6d.c winsup/testsuite/winsup.api/pthread/mutex6e.c winsup/testsuite/winsup.api/pthread/mutex6n.c winsup/testsuite/winsup.api/pthread/mutex6r.c winsup/testsuite/winsup.api/pthread/mutex7.c winsup/testsuite/winsup.api/pthread/mutex7d.c winsup/testsuite/winsup.api/pthread/mutex7e.c winsup/testsuite/winsup.api/pthread/mutex7n.c winsup/testsuite/winsup.api/pthread/mutex7r.c winsup/testsuite/winsup.api/pthread/mutex8e.c winsup/testsuite/winsup.api/pthread/mutex8n.c winsup/testsuite/winsup.api/pthread/mutex8r.c winsup/testsuite/winsup.api/pthread/once1.c winsup/testsuite/winsup.api/pthread/priority1.c winsup/testsuite/winsup.api/pthread/priority2.c winsup/testsuite/winsup.api/pthread/rwlock1.c winsup/testsuite/winsup.api/pthread/rwlock2.c winsup/testsuite/winsup.api/pthread/rwlock3.c winsup/testsuite/winsup.api/pthread/rwlock4.c winsup/testsuite/winsup.api/pthread/rwlock5.c winsup/testsuite/winsup.api/pthread/rwlock6.c winsup/testsuite/winsup.api/pthread/rwlock7.c winsup/testsuite/winsup.api/pthread/self1.c winsup/testsuite/winsup.api/pthread/self2.c winsup/testsuite/winsup.api/pthread/test.h winsup/testsuite/winsup.api/pthread/threadidafterfork.c winsup/testsuite/winsup.api/pthread/tsd1.c winsup/testsuite/winsup.api/resethand.c winsup/testsuite/winsup.api/samples/sample-fail.c winsup/testsuite/winsup.api/samples/sample-miscompile.c winsup/testsuite/winsup.api/samples/sample-pass.c winsup/testsuite/winsup.api/semtest.c winsup/testsuite/winsup.api/shmtest.c winsup/testsuite/winsup.api/sigchld.c winsup/testsuite/winsup.api/signal-into-win32-api.c winsup/testsuite/winsup.api/systemcall.c winsup/testsuite/winsup.api/user_malloc.c winsup/testsuite/winsup.api/waitpid.c winsup/testsuite/winsup.api/winsup.exp winsup/utils/COPYING.dumper winsup/utils/ChangeLog winsup/utils/ChangeLog-2000 winsup/utils/ChangeLog.64bit winsup/utils/Makefile.in winsup/utils/aclocal.m4 winsup/utils/autogen.sh winsup/utils/bloda.cc winsup/utils/configure winsup/utils/configure.ac winsup/utils/cygcheck.cc winsup/utils/cygpath.cc winsup/utils/cygwin-console-helper.cc winsup/utils/dump_setup.cc winsup/utils/dumper.cc winsup/utils/dumper.h winsup/utils/getconf.c winsup/utils/getfacl.c winsup/utils/kill.cc winsup/utils/ldd.cc winsup/utils/ldh.cc winsup/utils/loadlib.h winsup/utils/locale.cc winsup/utils/minidumper.cc winsup/utils/mkgroup.c winsup/utils/mkpasswd.c winsup/utils/module_info.cc winsup/utils/mount.cc winsup/utils/parse_pe.cc winsup/utils/passwd.c winsup/utils/path.cc winsup/utils/path.h winsup/utils/pldd.c winsup/utils/ps.cc winsup/utils/regtool.cc winsup/utils/setfacl.c winsup/utils/setmetamode.c winsup/utils/ssp.c winsup/utils/ssp.txt winsup/utils/strace.cc winsup/utils/testsuite.cc winsup/utils/testsuite.h winsup/utils/tzset.c winsup/utils/umount.cc winsup/utils/utils.xml winsup/utils/wide_path.h
Diffstat (limited to 'winsup/testsuite/libltp/lib/write_log.c')
-rw-r--r--winsup/testsuite/libltp/lib/write_log.c468
1 files changed, 0 insertions, 468 deletions
diff --git a/winsup/testsuite/libltp/lib/write_log.c b/winsup/testsuite/libltp/lib/write_log.c
deleted file mode 100644
index 316dfe79b..000000000
--- a/winsup/testsuite/libltp/lib/write_log.c
+++ /dev/null
@@ -1,468 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/*
- * This module contains code for logging writes to files, and for
- * perusing the resultant logfile. The main intent of all this is
- * to provide a 'write history' of a file which can be examined to
- * judge the state of a file (ie. whether it is corrupted or not) based
- * on the write activity.
- *
- * The main abstractions available to the user are the wlog_file, and
- * the wlog_rec. A wlog_file is a handle encapsulating a write logfile.
- * It is initialized with the wlog_open() function. This handle is
- * then passed to the various wlog_xxx() functions to provide transparent
- * access to the write logfile.
- *
- * The wlog_rec datatype is a structure which contains all the information
- * about a file write. Examples include the file name, offset, length,
- * pattern, etc. In addition there is a bit which is cleared/set based
- * on whether or not the write has been confirmed as complete. This
- * allows the write logfile to contain information on writes which have
- * been initiated, but not yet completed (as in async io).
- *
- * There is also a function to scan a write logfile in reverse order.
- *
- * NOTE: For target file analysis based on a write logfile, the
- * assumption is made that the file being written to is
- * locked from simultaneous access, so that the order of
- * write completion is predictable. This is an issue when
- * more than 1 process is trying to write data to the same
- * target file simultaneously.
- *
- * The history file created is a collection of variable length records
- * described by scruct wlog_rec_disk in write_log.h. See that module for
- * the layout of the data on disk.
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include "write_log.h"
-
-#ifndef BSIZE
-#ifdef linux
-#define BSIZE DEV_BSIZE
-#else
-#ifdef __CYGWIN__
-#define BSIZE S_BLKSIZE
-#else
-#define BSIZE BBSIZE
-#endif
-#endif
-#endif
-
-#ifndef PATH_MAX
-#define PATH_MAX 255
-/*#define PATH_MAX pathconf("/", _PC_PATH_MAX)*/
-#endif
-
-char Wlog_Error_String[256];
-
-#if __STDC__
-static int wlog_rec_pack(struct wlog_rec *wrec, char *buf, int flag);
-static int wlog_rec_unpack(struct wlog_rec *wrec, char *buf);
-#else
-static int wlog_rec_pack();
-static int wlog_rec_unpack();
-#endif
-
-/*
- * Initialize a write logfile. wfile is a wlog_file structure that has
- * the w_file field filled in. The rest of the information in the
- * structure is initialized by the routine.
- *
- * The trunc flag is used to indicate whether or not the logfile should
- * be truncated if it currently exists. If it is non-zero, the file will
- * be truncated, otherwise it will be appended to.
- *
- * The mode argument is the [absolute] mode which the file will be
- * given if it does not exist. This mode is not affected by your process
- * umask.
- */
-
-int
-wlog_open(wfile, trunc, mode)
-struct wlog_file *wfile;
-int trunc;
-int mode;
-{
- int omask, oflags;
-
- if (trunc)
- trunc = O_TRUNC;
-
- omask = umask(0);
-
- /*
- * Open 1 file descriptor as O_APPEND
- */
-
- oflags = O_WRONLY | O_APPEND | O_CREAT | trunc;
- wfile->w_afd =
- open(wfile->w_file, oflags, mode);
- umask(omask);
-
- if (wfile->w_afd == -1) {
- sprintf(Wlog_Error_String,
- "Could not open write_log - open(%s, %#o, %#o) failed: %s\n",
- wfile->w_file, oflags, mode, strerror(errno));
- return -1;
- }
-
- /*
- * Open the next fd as a random access descriptor
- */
-
- oflags = O_RDWR;
- if ((wfile->w_rfd = open(wfile->w_file, oflags)) == -1) {
- sprintf(Wlog_Error_String,
- "Could not open write log - open(%s, %#o) failed: %s\n",
- wfile->w_file, oflags, strerror(errno));
- close(wfile->w_afd);
- wfile->w_afd = -1;
- return -1;
- }
-
- return 0;
-}
-
-/*
- * Release all resources associated with a wlog_file structure allocated
- * with the wlog_open() call.
- */
-
-int
-wlog_close(wfile)
-struct wlog_file *wfile;
-{
- close(wfile->w_afd);
- close(wfile->w_rfd);
- return 0;
-}
-
-/*
- * Write a wlog_rec structure to a write logfile. Offset is used to
- * control where the record will be written. If offset is < 0, the
- * record will be appended to the end of the logfile. Otherwise, the
- * record which exists at the indicated offset will be overlayed. This
- * is so that we can record writes which are outstanding (with the w_done
- * bit in wrec cleared), but not completed, and then later update the
- * logfile when the write request completes (as with async io). When
- * offset is >= 0, only the fixed length portion of the record is
- * rewritten. See text in write_log.h for details on the format of an
- * on-disk record.
- *
- * The return value of the function is the byte offset in the logfile
- * where the record begins.
- *
- * Note: It is the callers responsibility to make sure that the offset
- * parameter 'points' to a valid record location when a record is to be
- * overlayed. This is guarenteed by saving the return value of a previous
- * call to wlog_record_write() which wrote the record to be overlayed.
- *
- * Note2: The on-disk version of the wlog_rec is MUCH different than
- * the user version. Don't expect to od the logfile and see data formatted
- * as it is in the wlog_rec structure. Considerable data packing takes
- * place before the record is written.
- */
-
-int
-wlog_record_write(wfile, wrec, offset)
-struct wlog_file *wfile;
-struct wlog_rec *wrec;
-long offset;
-{
- int reclen;
- char wbuf[WLOG_REC_MAX_SIZE + 2];
-
- /*
- * If offset is -1, we append the record at the end of file
- *
- * Otherwise, we overlay wrec at the file offset indicated and assume
- * that the caller passed us the correct offset. We do not record the
- * fname in this case.
- */
-
- reclen = wlog_rec_pack(wrec, wbuf, (offset < 0));
-
- if (offset < 0) {
- /*
- * Since we're writing a complete new record, we must also tack
- * its length onto the end so that wlog_scan_backward() will work.
- * Length is asumed to fit into 2 bytes.
- */
-
- wbuf[reclen] = reclen / 256;
- wbuf[reclen+1] = reclen % 256;
- reclen += 2;
-
- write(wfile->w_afd, wbuf, reclen);
- offset = lseek(wfile->w_afd, 0, SEEK_CUR) - reclen;
- } else {
- lseek(wfile->w_rfd, offset, SEEK_SET);
- write(wfile->w_rfd, wbuf, reclen);
- }
-
- return offset;
-}
-
-/*
- * Function to scan a logfile in reverse order. Wfile is a valid
- * wlog_file structure initialized by wlog_open(). nrecs is the number
- * of records to scan (all records are scanned if nrecs is 0). func is
- * a user-supplied function to call for each record found. The function
- * will be passed a single parameter - a wlog_rec structure .
- */
-
-int
-wlog_scan_backward(wfile, nrecs, func, data)
-struct wlog_file *wfile;
-int nrecs;
-int (*func)();
-long data;
-{
- int fd, leftover, nbytes, offset, recnum, reclen, rval;
- char buf[BSIZE*32], *bufend, *cp, *bufstart;
- char albuf[WLOG_REC_MAX_SIZE];
- struct wlog_rec wrec;
-
- fd = wfile->w_rfd;
-
- /*
- * Move to EOF. offset will always hold the current file offset
- */
-
- lseek(fd, 0, SEEK_END);
- offset = lseek(fd, 0, SEEK_CUR);
-
- bufend = buf + sizeof(buf);
- bufstart = buf;
-
- recnum = 0;
- leftover = 0;
- while ((!nrecs || recnum < nrecs) && offset > 0) {
- /*
- * Check for beginning of file - if there aren't enough bytes
- * remaining to fill buf, adjust bufstart.
- */
-
- if (offset + leftover < sizeof(buf)) {
- bufstart = bufend - (offset + leftover);
- offset = 0;
- } else {
- offset -= sizeof(buf) - leftover;
- }
-
- /*
- * Move to the proper file offset, and read into buf
- */
-
- lseek(fd, offset, SEEK_SET);
- nbytes = read(fd, bufstart, bufend - bufstart - leftover);
-
- if (nbytes == -1) {
- sprintf(Wlog_Error_String,
- "Could not read history file at offset %d - read(%d, %#o, %d) failed: %s\n",
- offset, fd, (int)bufstart,
- bufend - bufstart - leftover, strerror(errno));
- return -1;
- }
-
- cp = bufend;
- leftover = 0;
-
- while (cp >= bufstart) {
-
- /*
- * If cp-bufstart is not large enough to hold a piece
- * of record length information, copy remainder to end
- * of buf and continue reading the file.
- */
-
- if (cp - bufstart < 2) {
- leftover = cp - bufstart;
- memcpy(bufend - leftover, bufstart, leftover);
- break;
- }
-
- /*
- * Extract the record length. We must do it this way
- * instead of casting cp to an int because cp might
- * not be word aligned.
- */
-
- reclen = (*(cp-2) * 256) + *(cp -1);
-
- /*
- * If cp-bufstart isn't large enough to hold a
- * complete record, plus the length information, copy
- * the leftover bytes to the end of buf and continue
- * reading.
- */
-
- if (cp - bufstart < reclen + 2) {
- leftover = cp - bufstart;
- memcpy(bufend - leftover, bufstart, leftover);
- break;
- }
-
- /*
- * Adjust cp to point at the start of the record.
- * Copy the record into wbuf so that it is word
- * aligned and pass the record to the user supplied
- * function.
- */
-
- cp -= reclen + 2;
- memcpy(albuf, cp, reclen);
-
- wlog_rec_unpack(&wrec, albuf);
-
- /*
- * Call the user supplied function -
- * stop if instructed to.
- */
-
- if ((rval = (*func)(&wrec, data)) == WLOG_STOP_SCAN) {
- break;
- }
-
- recnum++;
-
- if (nrecs && recnum >= nrecs)
- break;
- }
- }
-
- return 0;
-}
-
-/*
- * The following 2 routines are used to pack and unpack the user
- * visible wlog_rec structure to/from a character buffer which is
- * stored or read from the write logfile. Any changes to either of
- * these routines must be reflected in the other.
- */
-
-static int
-wlog_rec_pack(wrec, buf, flag)
-struct wlog_rec *wrec;
-char *buf;
-int flag;
-{
- char *file, *host, *pattern;
- struct wlog_rec_disk *wrecd;
-
- wrecd = (struct wlog_rec_disk *)buf;
-
- wrecd->w_pid = (uint)wrec->w_pid;
- wrecd->w_offset = (uint)wrec->w_offset;
- wrecd->w_nbytes = (uint)wrec->w_nbytes;
- wrecd->w_oflags = (uint)wrec->w_oflags;
- wrecd->w_done = (uint)wrec->w_done;
- wrecd->w_async = (uint)wrec->w_async;
-
- wrecd->w_pathlen = (wrec->w_pathlen > 0) ? (uint)wrec->w_pathlen : 0;
- wrecd->w_hostlen = (wrec->w_hostlen > 0) ? (uint)wrec->w_hostlen : 0;
- wrecd->w_patternlen = (wrec->w_patternlen > 0) ? (uint)wrec->w_patternlen : 0;
-
- /*
- * If flag is true, we should also pack the variable length parts
- * of the wlog_rec. By default, we only pack the fixed length
- * parts.
- */
-
- if (flag) {
- file = buf + sizeof(struct wlog_rec_disk);
- host = file + wrecd->w_pathlen;
- pattern = host + wrecd->w_hostlen;
-
- if (wrecd->w_pathlen > 0)
- memcpy(file, wrec->w_path, wrecd->w_pathlen);
-
- if (wrecd->w_hostlen > 0)
- memcpy(host, wrec->w_host, wrecd->w_hostlen);
-
- if (wrecd->w_patternlen > 0)
- memcpy(pattern, wrec->w_pattern, wrecd->w_patternlen);
-
- return (sizeof(struct wlog_rec_disk) +
- wrecd->w_pathlen + wrecd->w_hostlen + wrecd->w_patternlen);
- } else {
- return sizeof(struct wlog_rec_disk);
- }
-}
-
-static int
-wlog_rec_unpack(wrec, buf)
-struct wlog_rec *wrec;
-char *buf;
-{
- char *file, *host, *pattern;
- struct wlog_rec_disk *wrecd;
-
- bzero((char *)wrec, sizeof(struct wlog_rec));
- wrecd = (struct wlog_rec_disk *)buf;
-
- wrec->w_pid = wrecd->w_pid;
- wrec->w_offset = wrecd->w_offset;
- wrec->w_nbytes = wrecd->w_nbytes;
- wrec->w_oflags = wrecd->w_oflags;
- wrec->w_hostlen = wrecd->w_hostlen;
- wrec->w_pathlen = wrecd->w_pathlen;
- wrec->w_patternlen = wrecd->w_patternlen;
- wrec->w_done = wrecd->w_done;
- wrec->w_async = wrecd->w_async;
-
- if (wrec->w_pathlen > 0) {
- file = buf + sizeof(struct wlog_rec_disk);
- memcpy(wrec->w_path, file, wrec->w_pathlen);
- }
-
- if (wrec->w_hostlen > 0) {
- host = buf + sizeof(struct wlog_rec_disk) + wrec->w_pathlen;
- memcpy(wrec->w_host, host, wrec->w_hostlen);
- }
-
- if (wrec->w_patternlen > 0) {
- pattern = buf + sizeof(struct wlog_rec_disk) +
- wrec->w_pathlen + wrec->w_hostlen;
- memcpy(wrec->w_pattern, pattern, wrec->w_patternlen);
- }
-
- return 0;
-}