]> git.kernelconcepts.de Git - karo-tx-redboot.git/blobdiff - packages/redboot/v2_0/include/redboot.h
unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / packages / redboot / v2_0 / include / redboot.h
index 74f55ecb993b5d6111dde73c2e066da571ac8ad1..fd6747013f5508dbe5f26b2c5225d0e0c77eaa56 100644 (file)
@@ -10,6 +10,7 @@
 // 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
@@ -89,7 +90,7 @@ EXTERN struct _mem_segment {
 #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;
@@ -114,7 +115,7 @@ EXTERN bool net_debug;
 #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;
@@ -182,7 +183,7 @@ typedef struct {
     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;
 
@@ -251,11 +252,14 @@ extern _cmd_entry(_s_,_h_,_u_,_f_,_subs_,_sube_,_n_)
 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 {
@@ -312,6 +316,10 @@ externC bool scan_opts(int argc, char *argv[], int first,
                        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)
@@ -342,6 +350,7 @@ externC int redboot_dns_res_init(void);
 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;