Print this page
5798 fexecve() needed per POSIX 2008


   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*


  23  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  24  * Use is subject to license terms.
  25  */
  26 
  27 #pragma ident   "%Z%%M% %I%     %E% SMI"
  28 
  29 /*
  30  * MKS header file.  Defines that make programming easier for us.
  31  * Includes MKS-specific things and posix routines.
  32  *
  33  * Copyright 1985, 1993 by Mortice Kern Systems Inc.  All rights reserved.
  34  *
  35  * $Header: /rd/h/rcs/mks.h 1.233 1995/09/28 19:45:19 mark Exp $
  36  */
  37 
  38 #ifndef __M_MKS_H__
  39 #define __M_MKS_H__
  40 
  41 /*
  42  * This should be a feature test macro defined in the Makefile or
  43  * cc command line.
  44  */
  45 #ifndef MKS
  46 #define MKS     1
  47 #endif
  48 


 319 #define VARARG3(t1, n1, t2, n2, t3, n3) (n1, n2, n3, va_alist) \
 320                 t1 n1; t2 n2; t3 n3; int va_alist
 321 #define VARARG4(t1, n1, t2, n2, t3, n3, t4, n4) (n1, n2, n3, n4, va_alist) \
 322                 t1 n1; t2 n2; t3 n3; t4 n4; int va_alist
 323 #define VARARG5(t1, n1, t2, n2, t3, n3, t4, n4, t5, n5) \
 324                 (n1, n2, n3, n4, n5, va_alist) \
 325                 t1 n1; t2 n2; t3 n3; t4 n4; t5 n5; int va_alist
 326 #endif
 327 #endif
 328 
 329 
 330 /*
 331  * MKS-specific library entry points.
 332  */
 333 extern  char    *_cmdname;
 334 LEXTERN char    *basename (char *);
 335 LEXTERN void    crc16 (ushort *, ushort);
 336 LEXTERN void    crcccitt (ushort *, ushort);
 337 LEXTERN int     eprintf (const char *, ...);
 338 LEXTERN void    eputs (const char *);
 339 LEXTERN pid_t   fexecve (const char *, char *const *, char *const *);
 340 LEXTERN pid_t   fexecvp (const char *, char *const *);
 341 LEXTERN pid_t   fexecvep (const char *, char *const *, char *const *);
 342 LEXTERN int     execvep (const char *, char *const *, char *const *);
 343 LEXTERN int     isabsname (const char *);
 344 LEXTERN const char *m_cescape (wint_t);
 345 LEXTERN int     m_escapec (char **);
 346 LEXTERN const char *m_toprint (wint_t);
 347 #if M_STTY_CC
 348 LEXTERN int     m_stty_cc (cc_t* cp, char *str);
 349 #endif
 350 LEXTERN char    *m_cmdname (char *);
 351 LEXTERN char    *m_strmode (mode_t);
 352 LEXTERN char    *m_readmode (const char *);
 353 LEXTERN char    *m_readnum (long *, char *, char **, int);
 354 LEXTERN char    *m_readunum (unsigned long *, char *, char **, int);
 355 LEXTERN mode_t  m_getmode (mode_t);
 356 LEXTERN int     m_wallow (int, const char *);
 357 LEXTERN char    *m_pathcat (const char *, const char *);
 358 LEXTERN void    m_sigcleanup (void (*__handler)(int __signo) );
 359 LEXTERN void    m_defaction (int __signo);
 360 LEXTERN char    *m_strdup (const char *s);
 361 LEXTERN int     m_stricmp (const char *, const char *);




   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*
  23  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
  24  *
  25  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  26  * Use is subject to license terms.
  27  */
  28 


  29 /*
  30  * MKS header file.  Defines that make programming easier for us.
  31  * Includes MKS-specific things and posix routines.
  32  *
  33  * Copyright 1985, 1993 by Mortice Kern Systems Inc.  All rights reserved.
  34  *
  35  * $Header: /rd/h/rcs/mks.h 1.233 1995/09/28 19:45:19 mark Exp $
  36  */
  37 
  38 #ifndef __M_MKS_H__
  39 #define __M_MKS_H__
  40 
  41 /*
  42  * This should be a feature test macro defined in the Makefile or
  43  * cc command line.
  44  */
  45 #ifndef MKS
  46 #define MKS     1
  47 #endif
  48 


 319 #define VARARG3(t1, n1, t2, n2, t3, n3) (n1, n2, n3, va_alist) \
 320                 t1 n1; t2 n2; t3 n3; int va_alist
 321 #define VARARG4(t1, n1, t2, n2, t3, n3, t4, n4) (n1, n2, n3, n4, va_alist) \
 322                 t1 n1; t2 n2; t3 n3; t4 n4; int va_alist
 323 #define VARARG5(t1, n1, t2, n2, t3, n3, t4, n4, t5, n5) \
 324                 (n1, n2, n3, n4, n5, va_alist) \
 325                 t1 n1; t2 n2; t3 n3; t4 n4; t5 n5; int va_alist
 326 #endif
 327 #endif
 328 
 329 
 330 /*
 331  * MKS-specific library entry points.
 332  */
 333 extern  char    *_cmdname;
 334 LEXTERN char    *basename (char *);
 335 LEXTERN void    crc16 (ushort *, ushort);
 336 LEXTERN void    crcccitt (ushort *, ushort);
 337 LEXTERN int     eprintf (const char *, ...);
 338 LEXTERN void    eputs (const char *);



 339 LEXTERN int     execvep (const char *, char *const *, char *const *);
 340 LEXTERN int     isabsname (const char *);
 341 LEXTERN const char *m_cescape (wint_t);
 342 LEXTERN int     m_escapec (char **);
 343 LEXTERN const char *m_toprint (wint_t);
 344 #if M_STTY_CC
 345 LEXTERN int     m_stty_cc (cc_t* cp, char *str);
 346 #endif
 347 LEXTERN char    *m_cmdname (char *);
 348 LEXTERN char    *m_strmode (mode_t);
 349 LEXTERN char    *m_readmode (const char *);
 350 LEXTERN char    *m_readnum (long *, char *, char **, int);
 351 LEXTERN char    *m_readunum (unsigned long *, char *, char **, int);
 352 LEXTERN mode_t  m_getmode (mode_t);
 353 LEXTERN int     m_wallow (int, const char *);
 354 LEXTERN char    *m_pathcat (const char *, const char *);
 355 LEXTERN void    m_sigcleanup (void (*__handler)(int __signo) );
 356 LEXTERN void    m_defaction (int __signo);
 357 LEXTERN char    *m_strdup (const char *s);
 358 LEXTERN int     m_stricmp (const char *, const char *);