1 /***************************************************************************
2                           basic_pro.hpp  -  basic GDL library procedures
3                              -------------------
4     begin                : July 22 2002
5     copyright            : (C) 2002 by Marc Schellens
6     email                : m_schellens@users.sf.net
7 ***************************************************************************/
8 
9 /***************************************************************************
10  *                                                                         *
11  *   This program is free software; you can redistribute it and/or modify  *
12  *   it under the terms of the GNU General Public License as published by  *
13  *   the Free Software Foundation; either version 2 of the License, or     *
14  *   (at your option) any later version.                                   *
15  *                                                                         *
16  ***************************************************************************/
17 
18 #ifndef BASIC_PRO_HPP_
19 #define BASIC_PRO_HPP_
20 
21 namespace lib {
22 
23   // control !CPU settings
24   void cpu_pro(EnvT* e);
25 
26   // control !GDL settings
27   void gdl_config_pro(EnvT* e);
28 
29   // helper function
30   bool check_lun(EnvT* e, DLong lun);
31 
32   void ptr_free(EnvT* e);
33   void obj_destroy(EnvT* e);
34   void call_procedure(EnvT* e);
35   void call_method_procedure(EnvT* e);
36 
37   void get_lun(EnvT* e);
38   void openr(EnvT* e);
39   void openw(EnvT* e);
40   void openu(EnvT* e);
41   void socket(EnvT* e);
42   void flush_lun(EnvT* e);
43   void close_lun(EnvT* e);
44   void free_lun(EnvT* e);
45   void writeu(EnvT* e);
46   void readu(EnvT* e);
47 
48   // help_item is used by EnvT::HeapGC
49   void help_item(std::ostream& os,
50 		 BaseGDL* par, DString parString, bool doIndentation);
51   void help_struct( std::ostream& os,  BaseGDL* par, int indent , bool debug );
52   void exitgdl(EnvT* e);
53 
54   // in print.cpp
55   void print(EnvT* e);
56   void printf(EnvT* e);
57   void print_os(std::ostream* os, EnvT* e, int parOffset, SizeT width);
58 
59   // in read.cpp
60   void read(EnvT* e);
61   void readf(EnvT* e);
62   void reads(EnvT* e);
63   void read_is(std::istream* is, EnvT* e, int parOffset);
64 
65   void on_error(EnvT* e);
66   void catch_pro(EnvT* e);
67 
68   void strput(EnvT* e);
69 
70   void retall(EnvT* e);
71 
72   void stop(EnvT* e);
73 
74   void heap_gc(EnvT* e);
75   void heap_free(EnvT* e);
76 
77   void defsysv(EnvT* e);
78 
79   void message_pro(EnvT* e);
80 
81   void byteorder(EnvT* e);
82 
83   void spawn_pro(EnvT* e);
84 
85   // the following by Peter Messmer
86   // (messmer@users.sourceforge.net)
87   void setenv_pro(EnvT* e);
88   void struct_assign_pro(EnvT* e);
89 
90   // the following by Sergio Gelato
91   // (Sergio.Gelato@astro.su.se)
92   void replicate_inplace_pro(EnvT* e);
93 
94   // the following by Alain Coulais
95   // (alaingdl @@ users.sourceforge.net)
96 
97 
98   void resolve_routine(EnvT* e);
99 
100   // the following by Sylwester Arabas
101   // (slayoo@igf.fuw.edu.pl)
102   void caldat(EnvT* e);
103   BaseGDL* julday(EnvT* e);
104   void pm(EnvT* e);
105   //dummy stub preventing !err and other !error_state to be set!
106   void pref_set_pro(EnvT* e);
107 
108   void delvar_pro( EnvT* e);
109   void findvar_pro( EnvT* e);
110 } // namespace
111 
112 #endif
113