From 1ff9922df0f6e5f129299847d0f5eccbc8d6806c Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Sat, 22 Dec 2007 08:27:18 +0000 Subject: 2007-12-22 Chris Johns * configure.ac: fixed bug that always enabled strict order mutexes. * score/inline/rtems/score/coremutex.inl: Fixed coding standard. * score/src/coremutex.c: Add the holder's thread to the lock_mutex list if the mutex is initialised locked. * libnetworking/rtems/rtems_glue.c: Changed semaphore error message to show the error is an rtems-net error. * libmisc/monitor/mon-network.c: Removed warnings. * telnetd/icmds.c: Changed shell_* to rtems_shell_*. * score/Makefile.am: Fixed typo that stopped 'make tags' working. * libmisc/shell/err.c, libmisc/shell/err.h, libmisc/shell/errx.c, libmisc/shell/extern-cp.h, libmisc/shell/fts.c, libmisc/shell/fts.h, libmisc/shell/main_cp.c, libmisc/shell/utils-cp.c, libmisc/shell/verr.c, libmisc/shell/verrx.c, libmisc/shell/vwarn.c, libmisc/shell/vwarnx.c, libmisc/shell/warn.c, libmisc/shell/warnx.c: New. Ported from BSD. * libmisc/shell/shellconfig.h: Add the cp command. * libmisc/Makefile.am: Add the new files to the shell. * libmisc/shell/shell.c, libmisc/shell/shell.h: Add scripting support. * libblock/src/flashdisk.c: Fixed disk drive count size setting bug. --- cpukit/libmisc/shell/extern-cp.h | 87 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 cpukit/libmisc/shell/extern-cp.h (limited to 'cpukit/libmisc/shell/extern-cp.h') diff --git a/cpukit/libmisc/shell/extern-cp.h b/cpukit/libmisc/shell/extern-cp.h new file mode 100644 index 0000000000..614142aa9a --- /dev/null +++ b/cpukit/libmisc/shell/extern-cp.h @@ -0,0 +1,87 @@ +/* $NetBSD: extern.h,v 1.12 2005/10/15 18:22:18 christos Exp $ */ + +/*- + * Copyright (c) 1991, 1993, 1994 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)extern.h 8.2 (Berkeley) 4/1/94 + */ + +#ifndef _EXTERN_CP_H_ +#define _EXTERN_CP_H_ + +#define PATH_T RTEMS_SHELL_CP_PATH_T + +typedef struct { + char *p_end; /* pointer to NULL at end of path */ + char *target_end; /* pointer to end of target base */ + char p_path[MAXPATHLEN + 1]; /* pointer to the start of a path */ +} PATH_T; + +#include + +typedef struct { + PATH_T to; + uid_t myuid; + int Rflag, fflag, iflag, pflag, rflag, vflag, Nflag; + mode_t myumask; + jmp_buf exit_jmp; +} rtems_shell_cp_globals; + +#define to cp_globals->to +#define myuid cp_globals->myuid +#define Rflag cp_globals->Rflag +#define fflag cp_globals->fflag +#define iflag cp_globals->iflag +#define pflag cp_globals->pflag +#define rflag cp_globals->rflag +#define vflag cp_globals->vflag +#define Nflag cp_globals->Nflag +#define myumask cp_globals->myumask +#define exit_jump &(cp_globals->exit_jmp) + +#define copy_fifo rtems_shell_cp_copy_fifo +#define copy_file rtems_shell_cp_copy_file +#define copy_link rtems_shell_cp_copy_link +#define copy_special rtems_shell_cp_copy_special +#define set_utimes rtems_shell_cp_set_utimes +#define setfile rtems_shell_cp_setfile +#define usage rtems_shell_cp_usage + +#include + +__BEGIN_DECLS +int copy_fifo(rtems_shell_cp_globals* cp_globals, struct stat *, int); +int copy_file(rtems_shell_cp_globals* cp_globals, FTSENT *, int); +int copy_link(rtems_shell_cp_globals* cp_globals, FTSENT *, int); +int copy_special(rtems_shell_cp_globals* cp_globals, struct stat *, int); +int set_utimes(const char *, struct stat *); +int setfile(rtems_shell_cp_globals* cp_globals, struct stat *, int); +void usage(); +__END_DECLS + +#endif /* !_EXTERN_H_ */ -- cgit v1.2.3