// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Red Hat, Inc.
// Copyright (C) 2002, 2003, 2004, 2005 Gary Thomas
+// Copyright (C) 2004, 2005 eCosCentric Limited
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
#define NO_MEMORY (unsigned char *)0xFFFFFFFF
EXTERN bool valid_address(unsigned char *addr);
EXTERN void cyg_plf_memory_segment(int seg, unsigned char **start, unsigned char **end);
-EXTERN unsigned char *workspace_start, *workspace_end;
+EXTERN unsigned char *workspace_start, *workspace_end, *workspace_end_init;
// Data squirreled away after a load operation
EXTERN unsigned long entry_address;
#endif
#ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-EXTERN unsigned char *script;
+EXTERN char *script;
EXTERN int script_timeout;
#ifdef CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
EXTERN int console_baud_rate;
int (*open)(connection_info_t *info, int *err);
void (*close)(int *err);
void (*terminate)(bool abort, int (*getc)(void));
- int (*read)(char *buf, int size, int *err);
+ int (*read)(void *buf, int size, int *err);
char *(*error)(int err);
} getc_io_funcs_t;
static _cmd_entry(_s_,_h_,_u_,_f_,0,0,_n_)
// Initialization functions
-#define RedBoot_INIT_FIRST 0000
-#define RedBoot_INIT_SECOND 0100
+#define RedBoot_INIT_FIRST 0000
+#define RedBoot_INIT_SECOND 0100
// Specify a 3 digit numeric value for proper prioritizing
#define RedBoot_INIT_PRIO(_n_) 1##_n_
-#define RedBoot_INIT_LAST 9999
+#define RedBoot_INIT_BEFORE_NET 6900
+#define RedBoot_INIT_NET 7000
+#define RedBoot_INIT_AFTER_NET 7100
+#define RedBoot_INIT_LAST 9999
typedef void void_fun(void);
typedef void_fun *void_fun_ptr;
struct init_tab_entry {
struct option_info *opts, int num_opts,
void *def_arg, int def_arg_type, char *def_descr);
+externC int redboot_exec(char *command, ... );
+
+externC void err_printf(const char *fmt, ... );
+
#ifdef CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS
#define CYGNUM_HAL_VIRTUAL_VECTOR_NUM_CHANNELS \
(CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS+CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS)
externC void set_dns(char* new_ip);
externC void show_dns(void);
externC struct hostent *gethostbyname(const char *host);
+externC int setdomainname(const char *, size_t);
// Error reporting
externC int h_errno;