OpenCOBOL 1.1pre-rel
coblocal.h
Go to the documentation of this file.
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 */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines