568 char *argv[3] = {
NULL,
NULL, NULL };
570 rtems_task_priority newpri;
571 rtems_status_code sc;
572 rtems_time_of_day now;
583 delayedPanic(
"epicsRtemsInitPreSetBootConfigFromNVRAM");
589 delayedPanic(
"epicsRtemsInitPostSetBootConfigFromNVRAM");
594 rtems_task_set_priority (
604 putenv (
"IOCSH_HISTSIZE=20");
609 printf(
"\n***** RTEMS Version: %s *****\n",
610 rtems_get_version_string());
615 if ((cp = getenv(
"EPICS_TS_NTP_INET")) != NULL)
626 printf(
"\n***** Initializing network *****\n");
627 rtems_bsdnet_initialize_network();
628 printf(
"\n***** Setting up file system *****\n");
629 initialize_remote_filesystem(argv, initialize_local_filesystem(argv));
637 gethostname(hostname, 1023);
638 char *cp =
mustMalloc(strlen(hostname)+3,
"iocsh prompt");
639 sprintf(cp,
"%s> ", hostname);
649 if (rtems_clock_get(RTEMS_CLOCK_GET_TOD,&now) != RTEMS_SUCCESSFUL) {
657 if ((sc = rtems_clock_set (&now)) != RTEMS_SUCCESSFUL)
658 printf (
"***** Can't set time: %s\n", rtems_status_text (sc));
660 if (getenv(
"TZ") == NULL) {
663 printf(
"Warning: No timezone information, times will be displayed in UTC.\n");
673 printf (
"***** Preparing EPICS application *****\n");
674 iocshRegisterRTEMS ();
675 set_directory (argv[1]);
679 printf (
"***** Starting EPICS application *****\n");
680 result =
main ((
sizeof argv /
sizeof argv[0]) - 1, argv);
681 printf (
"***** IOC application terminating *****\n");
LIBCOM_API const ENV_PARAM EPICS_TZ
int epicsRtemsInitPreSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config)
struct rtems_bsdnet_config rtems_bsdnet_config
LIBCOM_API const char *epicsStdCall envGetConfigParamPtr(const ENV_PARAM *pParam)
Get a configuration parameter's value or default string.
void osdTimeRegister(void)
LIBCOM_API void epicsStdCall epicsEnvSet(const char *name, const char *value)
Set an environment variable's value.
#define epicsThreadPriorityIocsh
int main(int argc, char **argv)
int epicsThreadGetOssPriorityValue(unsigned int osiPriority)
LIBCOM_API void epicsExit(int status)
Calls epicsExitCallAtExits(), then the OS exit() routine.
LIBCOM_API epicsThreadBooleanStatus epicsStdCall epicsThreadHighestPriorityLevelBelow(unsigned int priority, unsigned *pPriorityJustBelow)
LIBCOM_API void epicsStdCall epicsThreadSleep(double seconds)
Block the calling thread for at least the specified time.
#define epicsThreadPriorityScanLow
void setBootConfigFromNVRAM(void)
void * mustMalloc(int size, const char *msg)
int epicsRtemsInitPostSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config)