Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-08 09:18:51

0001 /*
0002  * Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
0003  *                         University Research and Technology
0004  *                         Corporation.  All rights reserved.
0005  * Copyright (c) 2004-2006 The University of Tennessee and The University
0006  *                         of Tennessee Research Foundation.  All rights
0007  *                         reserved.
0008  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
0009  *                         University of Stuttgart.  All rights reserved.
0010  * Copyright (c) 2004-2005 The Regents of the University of California.
0011  *                         All rights reserved.
0012  * Copyright (c) 2019-2020 Intel, Inc.  All rights reserved.
0013  * Copyright (c) 2021-2025 Nanook Consulting  All rights reserved.
0014  * $COPYRIGHT$
0015  *
0016  * Additional copyrights may follow
0017  *
0018  * $HEADER$
0019  */
0020 
0021 #ifndef PMIX_UTIL_PTY_H
0022 #define PMIX_UTIL_PTY_H
0023 
0024 #include "src/include/pmix_config.h"
0025 #include "pmix_common.h"
0026 
0027 #ifdef HAVE_UTIL_H
0028 #    include <util.h>
0029 #endif
0030 #ifdef HAVE_LIBUTIL_H
0031 #    include <libutil.h>
0032 #endif
0033 #ifdef HAVE_TERMIOS_H
0034 #    include <termios.h>
0035 #else
0036 #    ifdef HAVE_TERMIO_H
0037 #        include <termio.h>
0038 #    endif
0039 #endif
0040 
0041 BEGIN_C_DECLS
0042 
0043 #if PMIX_ENABLE_PTY_SUPPORT
0044 
0045 PMIX_EXPORT int pmix_openpty(int *amaster, int *aslave, char *name,
0046                              struct termios *termp, struct winsize *winp);
0047 
0048 PMIX_EXPORT int pmix_ptymopen(char *pts_name, size_t maxlen);
0049 
0050 PMIX_EXPORT int pmix_ptysopen(int fdm, char *pts_name);
0051 
0052 PMIX_EXPORT pid_t pmix_forkpty(int *master, char *slave,
0053                                const struct termios *sterm,
0054                                const struct winsize *sws);
0055 
0056 #else
0057 
0058 PMIX_EXPORT int pmix_openpty(int *amaster, int *aslave, char *name,
0059                              void *termp, void *winpp);
0060 
0061 PMIX_EXPORT int pmix_ptymopen(char *pts_name, size_t maxlen);
0062 
0063 PMIX_EXPORT int pmix_ptysopen(int fdm, char *pts_name);
0064 
0065 PMIX_EXPORT pid_t pmix_forkpty(int *master, char *slave,
0066                                const void *sterm, const void *sws);
0067 
0068 #endif
0069 
0070 END_C_DECLS
0071 
0072 #endif /* PMIX_UTIL_PTY_H */