solaris-x86-20020611
authorJoakim Fallsjö <fallsjo@sanchin.se>
Wed, 12 Jun 2002 01:25:33 +0000 (01:25 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 12 Jun 2002 01:25:33 +0000 (01:25 +0000)
solaris 7 and 8 for x86

12 files changed:
Makefile.in
acinclude.m4
src/config/Makefile.sunx86_57.in [new file with mode: 0644]
src/config/param.sunx86_57.h [new file with mode: 0644]
src/config/param.sunx86_57_usr.h [new file with mode: 0644]
src/config/param.sunx86_58.h
src/config/param.sunx86_58_usr.h
src/libafsrpc/Makefile.in
src/login/Makefile.in
src/lwp/Makefile.in
src/sys/Makefile.in
src/venus/Makefile.in

index e4c907d..b025d5e 100644 (file)
@@ -206,7 +206,7 @@ viced: project vlserver audit
 
 tviced: project viced vlserver libafsrpc libafsauthent
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux110|*fbsd*) \
+       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux110|*fbsd*) \
                ${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT viced for ${SYS_NAME} ;; \
@@ -714,7 +714,7 @@ package.files: package
 ntp: project volser
        @case ${WITH_OBSOLETE} in \
        YES)    case ${SYS_NAME} in \
-               sun4x_58 | sunx86_58 | *linux* | *fbsd* | ppc_darwin* ) echo skipping ntp for ${SYS_NAME} ;; \
+               sun4x_58 | sunx86_* | *linux* | *fbsd* | ppc_darwin* ) echo skipping ntp for ${SYS_NAME} ;; \
                * ) ${COMPILE_PART1} ntp ${COMPILE_PART2} ;; \
                esac ;; \
        *)      echo skipping deprecated target: ntp ;; \
index 6f81d51..3d21292 100644 (file)
@@ -287,6 +287,15 @@ else
                sparc-sun-solaris2.9)
                        AFS_SYSNAME="sun4x_59"
                        ;;
+               i386-pc-solaris2.7)
+                       AFS_SYSNAME="sunx86_57"
+                       ;;
+               i386-pc-solaris2.8)
+                       AFS_SYSNAME="sunx86_58"
+                       ;;
+               i386-pc-solaris2.9)
+                       AFS_SYSNAME="sunx86_59"
+                       ;;
                alpha*-dec-osf4.0*)
                        AFS_SYSNAME="alpha_dux40"
                        ;;
diff --git a/src/config/Makefile.sunx86_57.in b/src/config/Makefile.sunx86_57.in
new file mode 100644 (file)
index 0000000..e1fb130
--- /dev/null
@@ -0,0 +1,48 @@
+# Keep macros within each section in sorted order for clean diff displays.
+#
+# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
+AFS_OSTYPE = SOLARIS
+#
+# compilation and link editor flags
+XCFLAGS=-dy -Bdynamic
+MT_CFLAGS=-mt -DAFS_PTHREAD_ENV ${XCFLAGS}
+PAM_CFLAGS = -KPIC
+PAMLIBS= -lc -lpam -lsocket -lnsl -lm
+SHARE_LDFLAGS = -G -Bsymbolic
+LWP_OPTMZ=-g
+OPTMZ=-O
+DBG=-g
+
+## Compilation flags for 64 bit Solaris
+XCFLAGS64 = ${XCFLAGS} -xarch=v9
+
+#
+# libraries
+XLIBS=@LIB_AFSDB@ -lsocket -lnsl -lintl -ldl 
+TXLIBS=-lcurses
+MTLIBS=-lpthread -lsocket
+XLIBELFA=-lelf
+XLIBKVM=-lkvm
+#
+SHLIB_SUFFIX=so
+SHLIB_CFLAGS=-KPIC
+#
+# programs
+AR=/usr/ccs/bin/ar
+AS=as
+CC=/opt/SUNWspro/bin/cc
+MT_CC=/opt/SUNWspro/bin/cc
+CP=/bin/cp
+LEX=lex
+LD= /usr/ccs/bin/ld
+LORDER = /usr/ccs/bin/lorder
+MV=mv
+RANLIB=/bin/true
+RM=rm
+STRIP= /usr/ccs/bin/strip
+INSTALL=${TOP_SRCDIR}/pinstall/pinstall
+#
+# this is for the vol package
+FS_CONV_SOL26         = fs_conv_sol26
+install_FS_CONV_SOL26 = $(DESTDIR)${afssrvsbindir}/fs_conv_sol26
+dest_FS_CONV_SOL26    = $(DEST)/root.server/usr/afs/bin/fs_conv_sol26
diff --git a/src/config/param.sunx86_57.h b/src/config/param.sunx86_57.h
new file mode 100644 (file)
index 0000000..3c6fb87
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
+ */
+
+#ifndef        AFS_PARAM_H
+#define        AFS_PARAM_H
+
+#define AFS_VFS_ENV    1
+/* Used only in vfsck code; is it needed any more???? */
+
+#define AFS_VFSINCL_ENV        1       /* NOBODY uses this.... */
+#define AFS_GREEDY43_ENV       1       /* Used only in rx/rx_user.c */
+#define AFS_ENV                        1
+#define AFS_SUN_ENV            1
+#define AFS_SUN5_ENV           1
+#define        AFS_SUN52_ENV           1
+#define        AFS_SUN53_ENV           1
+#define        AFS_SUN54_ENV           1
+#define        AFS_SUN55_ENV           1
+#define        AFS_SUN56_ENV           1
+#define AFS_SUN57_ENV          1
+#define AFS_X86_ENV            1
+
+#define AFS_64BIT_ENV          1       /* Defines afs_int32 as int, not long. */
+
+#include <afs/afs_sysnames.h>
+
+#define AFS_GLOBAL_SUNLOCK     1       /* For global locking */
+#define RXK_LISTENER_ENV   1
+#define AFS_GCPAGS             1       /* if nonzero, garbage collect PAGs */
+
+#define        AFS_3DISPARES           1       /* Utilize the 3 available disk inode 'spares' */
+#define        AFS_SYSCALL             73
+
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */
+#define AFS_MOUNT_AFS   "afs"
+
+/* Machine / Operating system information */
+#define sys_sunx86_57  1
+#define SYS_NAME       "sunx86_57"
+#define SYS_NAME_ID    SYS_NAME_ID_sunx86_57
+#define AFSLITTLE_ENDIAN       1
+#define AFS_HAVE_FFS    1       /* Use system's ffs. */
+#define AFS_HAVE_VXFS  1       /* Support cache on Veritas vxfs file system */
+#define AFS_HAVE_STATVFS 1     /* System supports statvfs */
+#define AFS_VM_RDWR_ENV        1       /* read/write implemented via VM */
+#define AFS_USE_GETTIMEOFDAY 1  /* use gettimeofday to implement rx clock */
+
+#define NEARINODE_HINT  1   /* hint to ufs module to scatter inodes on disk*/
+#define nearInodeHash(volid, hval) {                                 \
+                unsigned char*  ts = (unsigned char*)&(volid)+sizeof(volid)-1;\
+                for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\
+                    (hval) *= 173;                      \
+                    (hval) += *ts;                      \
+                }                                       \
+                }
+
+/* Extra kernel definitions (from kdefs file) */
+#ifdef KERNEL
+/* sun definitions here */
+#define        AFS_UIOFMODE            1       /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
+#define        AFS_SYSVLOCK            1       /* sys v locking supported */
+/*#define      AFS_USEBUFFERS  1*/
+#define        afsio_iov               uio_iov
+#define        afsio_iovcnt    uio_iovcnt
+#define        afsio_offset    uio_offset
+#define        afsio_seg               uio_segflg
+#define        afsio_fmode     uio_fmode
+#define        afsio_resid     uio_resid
+#define        AFS_UIOSYS      UIO_SYSSPACE
+#define        AFS_UIOUSER     UIO_USERSPACE
+#define        AFS_CLBYTES     MCLBYTES
+#define        AFS_MINCHANGE   2
+#define        osi_GetTime(x)  uniqtime(x)
+
+/**
+  * These defines are for the 64 bit Solaris 7 port
+  * AFS_SYSCALL32 is used to protect the ILP32 syscall interface
+  * AFS_64BIT_ENV is for use of 64 bit inode numbers
+  */
+#if defined(__sparcv9)
+#define        AFS_SUN57_64BIT_ENV     1
+#define AFS_64BIT_INO          1
+#endif
+
+/**
+  * Solaris 7 64 bit has two versions of uniqtime. Since we consistently
+  * use 32 bit quantities for time in afs, we now use uniqtime32
+  */
+#if defined(AFS_SUN57_64BIT_ENV)
+#undef osi_GetTime
+#define osi_GetTime(x)  uniqtime32(x)
+#endif
+
+
+
+#define        AFS_KALLOC(n)   kmem_alloc(n, KM_SLEEP)
+#define AFS_KALLOC_NOSLEEP(n)   kmem_alloc(n, KM_NOSLEEP)
+#define        AFS_KFREE       kmem_free
+#define        VATTR_NULL      vattr_null
+#define memset(A, B, S) bzero(A, S)
+#define memcpy(B, A, S) bcopy(A, B, S)
+#define memcmp(A, B, S) bcmp(A, B, S)
+#endif /* KERNEL */
+#define        AFS_DIRENT      
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+#define        ROOTINO         UFSROOTINO
+
+#endif /* AFS_PARAM_H */
diff --git a/src/config/param.sunx86_57_usr.h b/src/config/param.sunx86_57_usr.h
new file mode 100644 (file)
index 0000000..a15bb90
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
+ */
+
+#ifndef        AFS_PARAM_H
+#define        AFS_PARAM_H
+
+#define AFS_VFS_ENV    1
+/* Used only in vfsck code; is it needed any more???? */
+#define RXK_LISTENER_ENV       1
+#define AFS_USERSPACE_IP_ADDR  1
+#define AFS_GCPAGS             0       /* if nonzero, garbage collect PAGs */
+
+#define UKERNEL                        1       /* user space kernel */
+#define AFS_GREEDY43_ENV       1       /* Used only in rx/rx_user.c */
+#define AFS_ENV                        1
+#define AFS_USR_SUN5_ENV       1
+#define AFS_USR_SUN6_ENV       1
+
+#include <afs/afs_sysnames.h>
+
+/*#define AFS_GLOBAL_SUNLOCK   1       /* For global locking */
+
+#define        AFS_3DISPARES           1       /* Utilize the 3 available disk inode 'spares' */
+#define        AFS_SYSCALL             73
+
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */
+#define AFS_MOUNT_AFS   1
+
+/* Machine / Operating system information */
+#define sys_sun4x_55   1
+#define SYS_NAME       "sun4x_55"
+#define SYS_NAME_ID    SYS_NAME_ID_sun4x_55
+#define AFSLITTLE_ENDIAN       1
+#define AFS_HAVE_FFS            1       /* Use system's ffs. */
+#define AFS_HAVE_STATVFS      0       /* System doesn't support statvfs */
+
+/* Extra kernel definitions (from kdefs file) */
+#ifdef KERNEL
+#define        AFS_UIOFMODE            1       /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
+#define        AFS_SYSVLOCK            1       /* sys v locking supported */
+/*#define      AFS_USEBUFFERS  1*/
+#define        afsio_iov       uio_iov
+#define        afsio_iovcnt    uio_iovcnt
+#define        afsio_offset    uio_offset
+#define        afsio_seg       uio_segflg
+#define        afsio_fmode     uio_fmode
+#define        afsio_resid     uio_resid
+#define        AFS_UIOSYS      1
+#define        AFS_UIOUSER     UIO_USERSPACE
+#define        AFS_CLBYTES     MCLBYTES
+#define        AFS_MINCHANGE   2
+#define        VATTR_NULL      usr_vattr_null
+#endif /* KERNEL */
+#define        AFS_DIRENT      
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+#define        ROOTINO         UFSROOTINO
+
+#endif /* AFS_PARAM_H */
index fea82ee..74b029b 100644 (file)
@@ -1,3 +1,12 @@
+/*
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
+ */
+
 #ifndef        AFS_PARAM_H
 #define        AFS_PARAM_H
 
 #define        AFS_SUN56_ENV           1
 #define AFS_SUN57_ENV          1
 #define AFS_SUN58_ENV          1
-#define AFS_X86_ENV             1
+#define AFS_X86_ENV            1
 
-#ifdef AFS_NAMEI_ENV
-#define AFS_64BIT_IOPS_ENV     1       /* needed for NAMEI... */
-#else /* AFS_NAMEI_ENV */
-#define AFS_3DISPARES           1       /* Utilize the 3 available disk inode 'spares' */
-#endif /* AFS_NAMEI_ENV */
+#define AFS_64BIT_ENV          1       /* Defines afs_int32 as int, not long. */
 
 #include <afs/afs_sysnames.h>
 
 #define RXK_LISTENER_ENV   1
 #define AFS_GCPAGS             1       /* if nonzero, garbage collect PAGs */
 
+#ifdef AFS_NAMEI_ENV
+#define AFS_64BIT_IOPS_ENV     1       /* needed for NAMEI... */
+#else /* AFS_NAMEI_ENV */
+#define        AFS_3DISPARES           1       /* Utilize the 3 available disk inode 'spares' */
+#endif /* AFS_NAMEI_ENV */
+
 #define        AFS_SYSCALL             65
 
 /* File system entry (used if mount.h doesn't define MOUNT_AFS */
 #define        AFS_MINCHANGE   2
 #define        osi_GetTime(x)  uniqtime(x)
 
+/**
+  * These defines are for the 64 bit Solaris 7 port
+  * AFS_SYSCALL32 is used to protect the ILP32 syscall interface
+  * AFS_64BIT_ENV is for use of 64 bit inode numbers
+  */
+#if defined(__sparcv9)
+#define        AFS_SUN57_64BIT_ENV     1
+#define AFS_64BIT_INO          1
+#endif
+
+/**
+  * Solaris 7 64 bit has two versions of uniqtime. Since we consistently
+  * use 32 bit quantities for time in afs, we now use uniqtime32
+  */
+#if defined(AFS_SUN57_64BIT_ENV)
+#undef osi_GetTime
+#define osi_GetTime(x)  uniqtime32(x)
+#endif
+
+
 
 #define        AFS_KALLOC(n)   kmem_alloc(n, KM_SLEEP)
 #define AFS_KALLOC_NOSLEEP(n)   kmem_alloc(n, KM_NOSLEEP)
index 1d84234..bc9657c 100644 (file)
@@ -1,3 +1,12 @@
+/*
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
+ */
+
 #ifndef        AFS_PARAM_H
 #define        AFS_PARAM_H
 
@@ -12,8 +21,6 @@
 #define AFS_ENV                        1
 #define AFS_USR_SUN5_ENV       1
 #define AFS_USR_SUN6_ENV       1
-#define AFS_USR_SUN7_ENV       1
-#define AFS_USR_SUN8_ENV       1
 
 #include <afs/afs_sysnames.h>
 
@@ -26,9 +33,9 @@
 #define AFS_MOUNT_AFS   1
 
 /* Machine / Operating system information */
-#define sys_sunx86_58  1
-#define SYS_NAME       "sunx86_58"
-#define SYS_NAME_ID    SYS_NAME_ID_sunx86_58
+#define sys_sun4x_55   1
+#define SYS_NAME       "sun4x_55"
+#define SYS_NAME_ID    SYS_NAME_ID_sun4x_55
 #define AFSLITTLE_ENDIAN       1
 #define AFS_HAVE_FFS            1       /* Use system's ffs. */
 #define AFS_HAVE_STATVFS      0       /* System doesn't support statvfs */
index 6490785..3979988 100644 (file)
@@ -313,7 +313,7 @@ base64.o: ${UTIL}/base64.c
 
 syscall.o: ${SYS}/syscall.s
        case "$(SYS_NAME)" in \
-            sun4x_5*|sunx86_5*) \
+            sun4x_5* | sunx86_5*) \
                /usr/ccs/lib/cpp  ${SFLAGS} ${SYS}/syscall.s syscall.ss; \
                as -o syscall.o syscall.ss;             \
                $(RM) syscall.ss;;                              \
index 7b375e5..7f19788 100644 (file)
@@ -46,14 +46,14 @@ all: login login.krb
 
 login: ${OBJS} ${AFSLIBS}
        case ${SYS_NAME} in \
-       sun4x_5?|sunx86_5? ) ${CC} $(DBG) -o $@ ${CFLAGS} ${OBJS} -lc ${AFSLIBS} ${XLIBS} -lcmd;;\
-       *) ${CC} $(DBG) -o $@ ${CFLAGS} ${OBJS} ${AFSLIBS} ${XLIBS} ;;\
+       sun4x_5? | sunx86_5? ) ${CC} -g -o $@ ${CFLAGS} ${OBJS} -lc ${LIBS} ${XLIBS} -lcmd;;\
+       *) ${CC} -g -o $@ ${CFLAGS} ${OBJS} ${LIBS} ${XLIBS} ;;\
        esac 
 
 login.krb: ${KOBJS} ${KAFSLIBS}
        case ${SYS_NAME} in \
-       sun4x_5?|sunx86_5? ) ${CC} $(DBG) -o $@ ${CFLAGS} ${KOBJS} -lc ${KAFSLIBS} ${XLIBS} -lcmd;;\
-       *) ${CC} $(DBG) -o $@ ${CFLAGS} ${KOBJS} ${KAFSLIBS} ${XLIBS} ;;\
+       sun4x_5? | sunx86_5? ) ${CC} -g -o $@ ${CFLAGS} ${KOBJS} -lc ${KLIBS} ${XLIBS} -lcmd;;\
+       *) ${CC} -g -o $@ ${CFLAGS} ${KOBJS} ${KLIBS} ${XLIBS} ;;\
        esac 
 
 libutil.a : ${UTILOBJS}
index e10b69d..0bf1b4c 100644 (file)
@@ -35,9 +35,9 @@ process.s:
 process.o      : process.s process.c
        @case "$(SYS_NAME)" in \
        pmax_he1) \
-               $(CC) -c -I${TOP_INCDIR} ${srcdir}/process.s;; \
+               $(CC) -c -I${TOP_INCDIR} process.s;; \
        sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53  | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sunx86_5?) \
-               /usr/ccs/lib/cpp -P -I${TOP_INCDIR} ${srcdir}/process.s process.ss; \
+               /usr/ccs/lib/cpp -P -I${TOP_INCDIR} process.s process.ss; \
                ${AS} process.ss -o process.o; \
                        $(RM) process.ss ;; \
        sgi_5* ) \
index a7bf5c1..afbd0da 100644 (file)
@@ -44,7 +44,7 @@ tests:        pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
 syscall.o: syscall.s
        case "$(SYS_NAME)" in \
         sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53  | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sunx86_5?) \
-               /usr/ccs/lib/cpp  ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
+               /usr/ccs/lib/cpp  ${SFLAGS} syscall.s syscall.ss; \
                as -o syscall.o syscall.ss;             \
                $(RM) syscall.ss;;                              \
         sgi_* |ppc_darwin* ) \
index b60adc4..86b442d 100644 (file)
@@ -83,8 +83,8 @@ ${DEST}/etc/kdump: kdump
                for f in kdump.IP??; \
                        do ${INSTALL} -s $$f ${DEST}/etc/$$f || exit $$? ; \
                done ;; \
-       sun4x_5[789]|sunx86_5[789] ) \
-               ${INSTALLex} -f ${srcdir}/kdump.sh.solaris7 $@; \
+       sun*_5[789] ) \
+               ${INSTALLex} -f kdump.sh.solaris7 $@; \
                ${INSTALL} -s -f $? ${DEST}/etc/kdump32;; \
        *linux* ) \
                ${INSTALLex} -f ${srcdir}/kdump.sh.linux $@; \
@@ -209,9 +209,9 @@ kdump:  kdump.o
        -set -x; \
        case ${SYS_NAME} in \
        sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_54 | sun4c_54 | sun4m_54 | sunx86_5? ) \
-               ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a /usr/lib/libkvm.a -lelf ${XLIBS} ;; \
-       sun4x_5? |sunx86_5? ) \
-               ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a  ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
+               ${CC} -g -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a /usr/lib/libkvm.a -lelf ${XLIBS} ;; \
+       sun*_5? ) \
+               ${CC} -g -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a  ${TOP_LIBDIR}/util.a  ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \
        sgi_6? ) \
                for f in ../libafs/STATIC.IP*/CPU_KDEFS; \
                do      IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \
@@ -303,7 +303,7 @@ ${DESTDIR}${sbindir}/kdump: kdump
                for f in kdump.IP??; \
                        do ${INSTALL} -s $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \
                done ;; \
-       sun4x_5[789] |sunx86_5[789] ) \
+       sun*_5[789] ) \
                ${INSTALLex} -f kdump.sh.solaris7 $@; \
                ${INSTALL} -s -f $? ${DESTDIR}${sbindir}/kdump32;; \
        *linux* ) \
@@ -318,7 +318,7 @@ ${DESTDIR}${sbindir}/kdump: kdump
 ${DESTDIR}${sbindir}/kdump64: kdump64
        -set -x; \
        case ${SYS_NAME} in \
-       sun4x_5[789] | hp_ux11* |sunx86_5[789] ) \
+       sun4x_5[789] | hp_ux11* ) \
                ${INSTALL} -s $? $@ ;;\
        * ) \
                echo skipping kdump64 for ${SYS_NAME} ;; \