18 #define EPICS_COMMANDLINE_LIBRARY_EPICS 0 21 #define EPICS_COMMANDLINE_LIBRARY_LIBTECLA 1 22 #define EPICS_COMMANDLINE_LIBRARY_LEDLIB 1 23 #define EPICS_COMMANDLINE_LIBRARY_OTHER 1 26 #define EPICS_COMMANDLINE_LIBRARY_READLINE 2 27 #define EPICS_COMMANDLINE_LIBRARY_READLINE_CURSES 2 28 #define EPICS_COMMANDLINE_LIBRARY_READLINE_NCURSES 2 30 #ifndef EPICS_COMMANDLINE_LIBRARY 31 # define EPICS_COMMANDLINE_LIBRARY EPICS_COMMANDLINE_LIBRARY_EPICS 38 struct osdContext *
osd;
42 static char * osdReadline(
const char *prompt,
struct readlineContext *);
45 #if EPICS_COMMANDLINE_LIBRARY == EPICS_COMMANDLINE_LIBRARY_EPICS 48 static char * osdReadline(
const char *prompt,
struct readlineContext *rc)
54 #elif EPICS_COMMANDLINE_LIBRARY == EPICS_COMMANDLINE_LIBRARY_READLINE 57 # include "osdReadline.c" 91 return osdReadline(prompt, rc);
95 if ((in = rc->
in) ==
NULL) {
102 line = (
char *)malloc(linesize);
104 printf(
"Out of memory!\n");
107 while ((c = getc(in)) !=
'\n') {
110 if ((errno == EINTR) || (errno == EPIPE)) {
118 if ((linelen + 1) >= linesize) {
122 cp = (
char *)realloc(line, linesize);
124 printf(
"Out of memory!\n");
132 line[linelen] =
'\0';
LIBCOM_API const char *epicsStdCall envGetConfigParamPtr(const ENV_PARAM *pParam)
Get a configuration parameter's value or default string.
Routines to get and set EPICS environment parameters.
void *epicsStdCall epicsReadlineBegin(FILE *in)
Create a command-line context.
char *epicsStdCall epicsReadline(const char *prompt, void *context)
Read a line of input.
Command-line editing functions.
void epicsStdCall epicsReadlineEnd(void *context)
Destroy a command-line context.
LIBCOM_API const ENV_PARAM IOCSH_HISTEDIT_DISABLE