OpenCOBOL 1.1pre-rel
|
00001 /* 00002 * Copyright (C) 2007-2009 Roger While 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public License 00006 * as published by the Free Software Foundation; either version 2.1, 00007 * or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; see the file COPYING.LIB. If 00016 * not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor 00017 * Boston, MA 02110-1301 USA 00018 */ 00019 00020 #ifndef COB_LOCAL_H 00021 #define COB_LOCAL_H 00022 00023 /* We use this file to prototype things that should not be 00024 exported to user space 00025 */ 00026 00027 #if defined(__GNUC__) && defined(linux) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) 00028 #define COB_HIDDEN __attribute__ ((visibility("hidden"))) 00029 #else 00030 #define COB_HIDDEN 00031 #endif 00032 00033 #define COB_ATTR_INIT(v,w,x,y,z) do { \ 00034 attr.type = v; \ 00035 attr.digits = w; \ 00036 attr.scale = x; \ 00037 attr.flags = y; \ 00038 attr.pic = z; \ 00039 } while (0) 00040 00041 #ifdef COB_PARAM_CHECK 00042 #define COB_CHK_PARMS(x, z) \ 00043 do { \ 00044 if (cob_call_params < z) { \ 00045 cob_runtime_error (parm_msg, #x, z); \ 00046 cob_stop_run (1); \ 00047 } \ 00048 } while (0) 00049 #else 00050 #define COB_CHK_PARMS(x, z) 00051 #endif 00052 00053 COB_HIDDEN extern int cob_screen_initialized; 00054 COB_HIDDEN extern int cob_got_exception; 00055 COB_HIDDEN extern unsigned int cob_orig_line; 00056 COB_HIDDEN extern const char *cob_orig_statement; 00057 COB_HIDDEN extern const char *cob_orig_program_id; 00058 COB_HIDDEN extern const char *cob_orig_section; 00059 COB_HIDDEN extern const char *cob_orig_paragraph; 00060 00061 COB_HIDDEN extern void cob_memcpy (cob_field *, 00062 unsigned char *, 00063 const int); 00064 COB_HIDDEN extern void cob_exit_fileio (void); 00065 COB_HIDDEN extern void cob_field_to_string (const cob_field *, char *); 00066 COB_HIDDEN extern void cob_init_numeric (void); 00067 COB_HIDDEN extern void cob_init_termio (void); 00068 COB_HIDDEN extern void cob_init_fileio (void); 00069 COB_HIDDEN extern void cob_init_call (void); 00070 COB_HIDDEN extern void cob_init_intrinsic (void); 00071 COB_HIDDEN extern void cob_init_strings (void); 00072 COB_HIDDEN extern void cob_init_move (void); 00073 COB_HIDDEN extern void cob_screen_terminate (void); 00074 COB_HIDDEN extern void cob_screen_set_mode (size_t); 00075 COB_HIDDEN extern int cob_real_get_sign (cob_field *); 00076 COB_HIDDEN extern void cob_real_put_sign (cob_field *, const int); 00077 COB_HIDDEN extern long long cob_get_long_long (cob_field *); 00078 00079 #endif /* COB_LOCAL_H */