[Libsysio-commit] HEAD: libsysio/tests test_link.c Makefile.am drv_init_all.c
Brought to you by:
lward
From: Ruth K. <rk...@us...> - 2003-10-20 17:07:55
|
Update of /cvsroot/libsysio/libsysio/tests In directory sc8-pr-cvs1:/tmp/cvs-serv7820 Modified Files: Makefile.am drv_init_all.c Added Files: test_link.c Log Message: merge cplant changes --- NEW FILE --- /* * This Cplant(TM) source code is the property of Sandia National * Laboratories. * * This Cplant(TM) source code is copyrighted by Sandia National * Laboratories. * * The redistribution of this Cplant(TM) source code is subject to the * terms of the GNU Lesser General Public License * (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html) * * Cplant(TM) Copyright 1998-2003 Sandia Corporation. * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive * license for use of this work by or on behalf of the US Government. * Export of this program may require a license from the United States * Government. */ /* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Questions or comments about this library should be sent to: * * Lee Ward * Sandia National Laboratories, New Mexico * P.O. Box 5800 * Albuquerque, NM 87185-1110 * * le...@sa... */ #include <stdio.h> #include <stdlib.h> #include <string.h> #ifndef REDSTORM #include <getopt.h> #else #include <unistd.h> #endif #include <errno.h> #include <sys/types.h> #include <sys/queue.h> #if 0 #include <dirent.h> #endif #include "sysio.h" #include "mount.h" #include "test.h" /* * Test hard link * * Usage: link [-a] [-m <fsname>] [-r <mntpath>] oldpath newpath * */ static int linkit(const char *old, const char *new); static void usage(void); static const char *root_driver = DEFAULT_DRIVER; static const char *mntpath = "/"; static unsigned mntflgs = 0; #ifdef AUTOMOUNT_FILE_NAME #define EXTRA_AUTOMOUNT_OPT "a" #else #define EXTRA_AUTOMOUNT_OPT #endif const char *opts = EXTRA_AUTOMOUNT_OPT "m:r:"; int main(int argc, char *const argv[]) { int i; int err; int n; /* * Parse command line arguments. */ while ((i = getopt(argc, argv, opts)) != -1) switch (i) { #ifdef AUTOMOUNT_FILE_NAME case 'a': mntflgs |= MOUNT_F_AUTO; break; #endif case 'm': root_driver = optarg; break; case 'r': mntpath = optarg; break; default: usage(); } /* * Init sysio lib. */ _sysio_init(); /* * Init native file system driver and request mount of specified * source directory. */ err = drv_init_all(); if (err) { errno = -err; perror("drv_init_all"); exit(1); } err = _sysio_mount_root(mntpath, root_driver, mntflgs, NULL); if (err) { errno = -err; perror("_sysio_mount_root"); exit(1); } n = argc - optind; if (n < 2) usage(); /* * Try paths listed on command-line. */ while (optind < argc) { const char *old, *new; old = argv[optind++]; new = argv[optind++]; (void )linkit(old, new); } /* * Clean up. */ _sysio_shutdown(); return 0; } static int linkit(const char *old, const char *new) { unlink(new); if (link(old, new) < 0) { perror(old); return -1; } return 0; } static void usage() { (void )fprintf(stderr, "Usage: unlink [-a] [-m <driver>] [-r <mntpath>]" " oldpath newpath\n"); exit(1); } Index: Makefile.am =================================================================== RCS file: /cvsroot/libsysio/libsysio/tests/Makefile.am,v retrieving revision 1.14 retrieving revision 1.15 diff -u -w -b -B -p -r1.14 -r1.15 --- Makefile.am 13 Oct 2003 21:23:44 -0000 1.14 +++ Makefile.am 20 Oct 2003 16:32:28 -0000 1.15 @@ -1,5 +1,5 @@ noinst_PROGRAMS = test_copy test_stats test_path test_mounts test_list \ - test_getcwd test_stdfd test_unlink test_rename test_driver + test_getcwd test_stdfd test_link test_unlink test_rename test_driver CLEANFILES=drv_data.c @@ -36,6 +36,7 @@ endif if WITH_CPLANT_YOD YOD_DRIVER_NAME=yod YOD_DRIVER_CFLAGS= -DCPLANT_YOD +YOD_DRIVER_LIB=$(top_builddir)/drivers/yod/libsysio_yod.a else YOD_DRIVER_NAME= YOD_DRIVER_CFLAGS= @@ -97,6 +98,11 @@ test_stdfd_CFLAGS=$(CFL) test_stdfd_LDADD=$(LIBS) test_stdfd_DEPENDENCIES=$(LIBS) +test_link_SOURCES=test_link.c $(CMNSRC) +test_link_CFLAGS=$(CFL) +test_link_LDADD=$(LIBS) +test_link_DEPENDENCIES=$(LIBS) + test_unlink_SOURCES=test_unlink.c $(CMNSRC) test_unlink_CFLAGS=$(CFL) test_unlink_LDADD=$(LIBS) @@ -112,7 +118,7 @@ test_driver_CFLAGS=$(CFL) test_driver_LDADD=$(LIBS) test_driver_DEPENDENCIES=$(LIBS) -EXTRA_DIST=gendrvdata.sh test.h test_driver.h +EXTRA_DIST=$(shell ls *.pl *.pm) gendrvdata.sh test.h test_driver.h drv_data.c: $(CONFIG_DEPENDENCIES) $(top_srcdir)/tests/gendrvdata.sh test -z "drv_data.c" && rm -f drv_data.c; \ Index: drv_init_all.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/tests/drv_init_all.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -b -B -p -r1.1 -r1.2 --- drv_init_all.c 22 Feb 2003 18:25:11 -0000 1.1 +++ drv_init_all.c 20 Oct 2003 16:32:29 -0000 1.2 @@ -1,3 +1,5 @@ +#include <stdio.h> + extern int (*drvinits[])(void); /* |