File indexing completed on 2025-05-11 08:24:19
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037 #ifndef _EXTERN_DD_H_
0038 #define _EXTERN_DD_H_
0039
0040 #include <setjmp.h>
0041
0042 typedef struct rtems_shell_dd_globals_t {
0043 rtems_shell_dd_IO in, out;
0044 rtems_shell_dd_STAT st;
0045 void (*cfunc)(struct rtems_shell_dd_globals_t* globals);
0046 uintmax_t cpy_cnt;
0047 u_int ddflags;
0048 size_t cbsz;
0049 uintmax_t files_cnt;
0050 const u_char *ctab;
0051 char fill_char;
0052 u_char casetab[256];
0053 int exit_code;
0054 jmp_buf exit_jmp;
0055 } rtems_shell_dd_globals;
0056
0057 #define in globals->in
0058 #define out globals->out
0059 #define st globals->st
0060 #define cfunc globals->cfunc
0061 #define cpy_cnt globals->cpy_cnt
0062 #define ddflags globals->ddflags
0063 #define cbsz globals->cbsz
0064 #define files_cnt globals->files_cnt
0065 #define casetab globals->casetab
0066 #define ctab globals->ctab
0067 #define fill_char globals->fill_char
0068 #define exit_jump &(globals->exit_jmp)
0069
0070 #define block rtems_shell_dd_block
0071 #define block_close rtems_shell_dd_block_close
0072 #define dd_out rtems_shell_dd_dd_out
0073 #define def rtems_shell_dd_def
0074 #define def_close rtems_shell_dd_def_close
0075 #define jcl rtems_shell_dd_jcl
0076 #define pos_in rtems_shell_dd_pos_in
0077 #define pos_out rtems_shell_dd_pos_out
0078 #define summary rtems_shell_dd_summary
0079 #define summaryx rtems_shell_dd_summaryx
0080 #define terminate rtems_shell_dd_terminate
0081 #define unblock rtems_shell_dd_unblock
0082 #define unblock_close rtems_shell_dd_unblock_close
0083
0084 void block(rtems_shell_dd_globals* );
0085 void block_close(rtems_shell_dd_globals* );
0086 void dd_out(rtems_shell_dd_globals* , int);
0087 void def(rtems_shell_dd_globals* globals);
0088 void def_close(rtems_shell_dd_globals* );
0089 void jcl(rtems_shell_dd_globals* , char **);
0090 void pos_in(rtems_shell_dd_globals* );
0091 void pos_out(rtems_shell_dd_globals* );
0092 void summary(rtems_shell_dd_globals* );
0093 void summaryx(rtems_shell_dd_globals* , int);
0094 void terminate(int);
0095 void unblock(rtems_shell_dd_globals* globals);
0096 void unblock_close(rtems_shell_dd_globals* globals);
0097
0098 extern const u_char a2e_32V[256], a2e_POSIX[256];
0099 extern const u_char e2a_32V[256], e2a_POSIX[256];
0100 extern const u_char a2ibm_32V[256], a2ibm_POSIX[256];
0101
0102 void rtems_shell_dd_exit(rtems_shell_dd_globals* globals, int code);
0103
0104 #define exit(ec) rtems_shell_dd_exit(globals, ec)
0105
0106 #endif