source: trunk/src/fortran/RpLibraryFInterface.h @ 591

Last change on this file since 591 was 591, checked in by dkearney, 16 years ago

Added putFile capability to octave, matlab, fortran, perl bindings
Adjusted the core putFile function and all put functions to accept unsigned ints
added enum flags for binary and text file for the putFile function in c/c++

File size: 5.6 KB
Line 
1/*
2 * ----------------------------------------------------------------------
3 *  INTERFACE: Fortran Rappture Library Header
4 *
5 * ======================================================================
6 *  AUTHOR:  Derrick S. Kearney, Purdue University
7 *  Copyright (c) 2004-2007  Purdue Research Foundation
8 *
9 *  See the file "license.terms" for information on usage and
10 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
11 * ======================================================================
12 */
13
14#ifndef _RpLIBRARY_F_H
15#define _RpLIBRARY_F_H
16
17#ifdef __cplusplus
18    #include "RpLibrary.h"
19    #include <string.h>
20    #include <fstream>
21    #include "RpFortranCommon.h"
22    #include "RpLibraryFStubs.h"
23
24    extern "C" {
25#endif // ifdef __cplusplus
26
27int rp_lib ( const char* filePath, int filePath_len );
28
29void rp_lib_element_comp (  int* handle,
30                            char* path,
31                            char* retText,
32                            int path_len,
33                            int retText_len );
34
35void rp_lib_element_id (    int* handle,
36                            char* path,
37                            char* retText,
38                            int path_len,
39                            int retText_len );
40
41void rp_lib_element_type (  int* handle,
42                            char* path,
43                            char* retText,
44                            int path_len,
45                            int retText_len );
46
47int rp_lib_element_obj (    int* handle,
48                            char* path,
49                            int path_len );
50
51int rp_lib_children (       int* handle, /* integer handle of library */
52                            char* path, /* search path of the xml */
53                            int* childHandle, /*int handle of last returned child*/
54                            int path_len  /*length of the search path buffer*/
55                    );
56
57void rp_lib_get (           int* handle,
58                            char* path,
59                            char* retText,
60                            int path_len,
61                            int retText_len );
62
63void rp_lib_get_str (       int* handle,
64                            char* path,
65                            char* retText,
66                            int path_len,
67                            int retText_len );
68
69double rp_lib_get_double (  int* handle,
70                            char* path,
71                            int path_len);
72
73int rp_lib_get_integer (    int* handle,
74                            char* path,
75                            int path_len);
76
77int rp_lib_get_boolean (    int* handle,
78                            char* path,
79                            int path_len);
80
81void rp_lib_put_str (       int* handle,
82                            char* path,
83                            char* value,
84                            int* append,
85                            int path_len,
86                            int value_len );
87
88void rp_lib_put_id_str (    int* handle,
89                            char* path,
90                            char* value,
91                            char* id,
92                            int* append,
93                            int path_len,
94                            int value_len,
95                            int id_len );
96
97void rp_lib_put_data (      int* handle,
98                            char* path,
99                            char* bytes,
100                            int* nbytes,
101                            int* append,
102                            int path_len,
103                            int bytes_len );
104
105void rp_lib_put_file (      int* handle,
106                            char* path,
107                            char* fileName,
108                            int* fileType,
109                            int* append,
110                            int path_len,
111                            int fileName_len );
112
113/*
114 * rp_lib_put_obj still needs to be written
115 * keep function declaration around
116void rp_lib_put_obj (       int* handle,
117                            char* path,
118                            int* valHandle,
119                            int* append,
120                            int path_len );
121*/
122
123/*
124 * rp_lib_put_id_obj still needs to be written
125 * keep function declaration around
126void rp_lib_put_id_obj (    int* handle,
127                            char* path,
128                            int* valHandle,
129                            char* id,
130                            int* append,
131                            int path_len,
132                            int id_len );
133*/
134
135/*
136 * rp_lib_remove still needs to be written
137 * keep function declaration around
138int rp_lib_remove (         int* handle,
139                            char* path,
140                            int path_len);
141*/
142
143/*
144 * rp_lib_xml_len still needs to be written
145 * keep function declaration around
146int rp_lib_xml_len(         int* handle);
147*/
148
149void rp_lib_xml(            int* handle,
150                            char* retText,
151                            int retText_len);
152
153int rp_lib_write_xml(       int* handle,
154                            char* outFile,
155                            int outFile_len);
156
157void rp_lib_node_comp (     int* handle,
158                            char* retText,
159                            int retText_len);
160
161void rp_lib_node_type (     int* handle,
162                            char* retText,
163                            int retText_len);
164
165void rp_lib_node_id (       int* handle,
166                            char* retText,
167                            int retText_len);
168
169void rp_result(             int* handle );
170
171/**********************************************************/
172
173#ifdef __cplusplus
174    }
175#endif // ifdef __cplusplus
176
177#endif // ifndef _RpLIBRARY_F_H
Note: See TracBrowser for help on using the repository browser.