Skip to content

32 files changed

+5941
-4
lines changed
 

‎cmake/FindGRASS.cmake

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,17 @@ MACRO (CHECK_GRASS G_PREFIX)
2626
# LIB_PATH is only temporary variable, so hide it (is it possible to delete a variable?)
2727
MARK_AS_ADVANCED(LIB_PATH)
2828

29-
IF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES)
30-
SET (GRASS_FOUND TRUE)
31-
SET (GRASS_PREFIX ${G_PREFIX})
32-
ENDIF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES)
29+
IF (NOT MSVC)
30+
IF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES)
31+
SET (GRASS_FOUND TRUE)
32+
SET (GRASS_PREFIX ${G_PREFIX})
33+
ENDIF (GRASS_INCLUDE_DIR AND GRASS_LIBRARIES)
34+
ELSE (NOT MSVC)
35+
IF (GRASS_INCLUDE_DIR)
36+
SET (GRASS_FOUND TRUE)
37+
SET (GRASS_LIBRARIES "")
38+
ENDIF (GRASS_INCLUDE_DIR)
39+
ENDIF (NOT MSVC)
3340

3441
MARK_AS_ADVANCED (
3542
GRASS_INCLUDE_DIR

‎src/providers/grass/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ IF (NOT MSVC)
1717
SET_SOURCE_FILES_PROPERTIES(qgsgrassprovider.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
1818
SET_SOURCE_FILES_PROPERTIES(qgsgrass.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
1919
SET_SOURCE_FILES_PROPERTIES(provider.cpp PROPERTIES COMPILE_FLAGS -Wno-error )
20+
ELSE (NOT MSVC)
21+
SUBDIRS(vc)
2022
ENDIF (NOT MSVC)
2123

2224
########################################################

‎src/providers/grass/vc/CMakeLists.txt

Lines changed: 479 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
2+
* unrestricted use provided that this legend is included on all tape
3+
* media and as a part of the software program in whole or part. Users
4+
* may copy or modify Sun RPC without charge, but are not authorized
5+
* to license or distribute it to anyone else except as part of a product or
6+
* program developed by the user.
7+
*
8+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
9+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
10+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
11+
*
12+
* Sun RPC is provided with no support and without any obligation on the
13+
* part of Sun Microsystems, Inc. to assist in its use, correction,
14+
* modification or enhancement.
15+
*
16+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
17+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
18+
* OR ANY PART THEREOF.
19+
*
20+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
21+
* or profits or other special, indirect and consequential damages, even if
22+
* Sun has been advised of the possibility of such damages.
23+
*
24+
* Sun Microsystems, Inc.
25+
* 2550 Garcia Avenue
26+
* Mountain View, California 94043

‎src/providers/grass/vc/dirent.h

Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
/*
2+
* dirent.h - dirent API for Microsoft Visual Studio
3+
*
4+
* Copyright (C) 2006 Toni Ronkko
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining
7+
* a copy of this software and associated documentation files (the
8+
* ``Software''), to deal in the Software without restriction, including
9+
* without limitation the rights to use, copy, modify, merge, publish,
10+
* distribute, sublicense, and/or sell copies of the Software, and to
11+
* permit persons to whom the Software is furnished to do so, subject to
12+
* the following conditions:
13+
*
14+
* The above copyright notice and this permission notice shall be included
15+
* in all copies or substantial portions of the Software.
16+
*
17+
* THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
18+
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20+
* IN NO EVENT SHALL TONI RONKKO BE LIABLE FOR ANY CLAIM, DAMAGES OR
21+
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22+
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23+
* OTHER DEALINGS IN THE SOFTWARE.
24+
*
25+
*
26+
* Mar 4, 2007, Toni Ronkko
27+
* Bug fix: due to the strncpy_s() function this file only compiled in
28+
* Visual Studio 2005. Using the new string functions only when the
29+
* compiler version allows.
30+
*
31+
* Nov 2, 2006, Toni Ronkko
32+
* Major update: removed support for Watcom C, MS-DOS and Turbo C to
33+
* simplify the file, updated the code to compile cleanly on Visual
34+
* Studio 2005 with both unicode and multi-byte character strings,
35+
* removed rewinddir() as it had a bug.
36+
*
37+
* Aug 20, 2006, Toni Ronkko
38+
* Removed all remarks about MSVC 1.0, which is antiqued now. Simplified
39+
* comments by removing SGML tags.
40+
*
41+
* May 14 2002, Toni Ronkko
42+
* Embedded the function definitions directly to the header so that no
43+
* source modules need to be included in the Visual Studio project. Removed
44+
* all the dependencies to other projects so that this very header can be
45+
* used independently.
46+
*
47+
* May 28 1998, Toni Ronkko
48+
* First version.
49+
*/
50+
#ifndef DIRENT_H
51+
#define DIRENT_H
52+
53+
#include <windows.h>
54+
#include <tchar.h>
55+
#include <string.h>
56+
#include <assert.h>
57+
58+
59+
typedef struct dirent {
60+
/* name of current directory entry (a multi-byte character string) */
61+
char d_name[MAX_PATH + 1];
62+
63+
/* file attributes */
64+
WIN32_FIND_DATA data;
65+
} dirent;
66+
67+
68+
typedef struct DIR {
69+
/* current directory entry */
70+
dirent current;
71+
72+
/* is there an un-processed entry in current? */
73+
int cached;
74+
75+
/* file search handle */
76+
HANDLE search_handle;
77+
78+
/* search pattern (3 = zero terminator + pattern "\\*") */
79+
TCHAR patt[MAX_PATH + 3];
80+
} DIR;
81+
82+
83+
static DIR *opendir (const char *dirname);
84+
static struct dirent *readdir (DIR *dirp);
85+
static int closedir (DIR *dirp);
86+
87+
88+
/* use the new safe string functions introduced in Visual Studio 2005 */
89+
#if defined(_MSC_VER) && _MSC_VER >= 1400
90+
# define STRNCPY(dest,src,size) strncpy_s((dest),(size),(src),_TRUNCATE)
91+
#else
92+
# define STRNCPY(dest,src,size) strncpy((dest),(src),(size))
93+
#endif
94+
95+
96+
/*
97+
* Open directory stream DIRNAME for read and return a pointer to the
98+
* internal working area that is used to retrieve individual directory
99+
* entries.
100+
*/
101+
static DIR*
102+
opendir(
103+
const char *dirname)
104+
{
105+
DIR *dirp;
106+
assert (dirname != NULL);
107+
assert (strlen (dirname) < MAX_PATH);
108+
109+
/* construct new DIR structure */
110+
dirp = (DIR*) malloc (sizeof (struct DIR));
111+
if (dirp != NULL) {
112+
TCHAR *p;
113+
114+
/* prepare search pattern */
115+
#ifdef _UNICODE
116+
117+
/* convert directory name to wide character string */
118+
MultiByteToWideChar(
119+
CP_ACP, /* code page */
120+
0, /* conversion flags */
121+
dirname, /* mb-string to convert */
122+
-1, /* length of mb-string */
123+
dirp->patt, /* wc-string to produce */
124+
MAX_PATH); /* max length of wc-string */
125+
dirp->patt[MAX_PATH] = '\0';
126+
127+
/* append search pattern to directory name */
128+
p = wcschr (dirp->patt, '\0');
129+
if (dirp->patt < p && *(p-1) != '\\' && *(p-1) != ':') {
130+
*p++ = '\\';
131+
}
132+
*p++ = '*';
133+
*p = '\0';
134+
135+
#else /* !_UNICODE */
136+
137+
/* take directory name... */
138+
STRNCPY (dirp->patt, dirname, sizeof(dirp->patt));
139+
dirp->patt[MAX_PATH] = '\0';
140+
141+
/* ... and append search pattern to it */
142+
p = strchr (dirp->patt, '\0');
143+
if (dirp->patt < p && *(p-1) != '\\' && *(p-1) != ':') {
144+
*p++ = '\\';
145+
}
146+
*p++ = '*';
147+
*p = '\0';
148+
149+
#endif /* !_UNICODE */
150+
151+
/* open stream and retrieve first file */
152+
dirp->search_handle = FindFirstFile (dirp->patt, &dirp->current.data);
153+
if (dirp->search_handle == INVALID_HANDLE_VALUE) {
154+
/* invalid search pattern? */
155+
free (dirp);
156+
return NULL;
157+
}
158+
159+
/* there is an un-processed directory entry in memory now */
160+
dirp->cached = 1;
161+
162+
}
163+
return dirp;
164+
}
165+
166+
167+
/*
168+
* Read a directory entry, and return a pointer to a dirent structure
169+
* containing the name of the entry in d_name field. Individual directory
170+
* entries returned by this very function include regular files,
171+
* sub-directories, pseudo-directories "." and "..", but also volume labels,
172+
* hidden files and system files may be returned.
173+
*/
174+
static struct dirent *
175+
readdir(
176+
DIR *dirp)
177+
{
178+
assert (dirp != NULL);
179+
180+
if (dirp->search_handle == INVALID_HANDLE_VALUE) {
181+
/* directory stream was opened/rewound incorrectly or it ended normally */
182+
return NULL;
183+
}
184+
185+
/* get next directory entry */
186+
if (dirp->cached != 0) {
187+
/* a valid directory entry already in memory */
188+
dirp->cached = 0;
189+
} else {
190+
/* read next directory entry from disk */
191+
if (FindNextFile (dirp->search_handle, &dirp->current.data) == FALSE) {
192+
/* the very last file has been processed or an error occured */
193+
FindClose (dirp->search_handle);
194+
dirp->search_handle = INVALID_HANDLE_VALUE;
195+
return NULL;
196+
}
197+
}
198+
199+
/* copy directory entry to d_name */
200+
#ifdef _UNICODE
201+
202+
/* convert entry name to multibyte */
203+
WideCharToMultiByte(
204+
CP_ACP, /* code page */
205+
0, /* conversion flags */
206+
dirp->current.data.cFileName, /* wc-string to convert */
207+
-1, /* length of wc-string */
208+
dirp->current.d_name, /* mb-string to produce */
209+
MAX_PATH, /* max length of mb-string */
210+
NULL, /* use sys default character */
211+
NULL); /* don't care */
212+
dirp->current.d_name[MAX_PATH] = '\0';
213+
214+
#else /* !_UNICODE */
215+
216+
/* copy as a multibyte character string */
217+
STRNCPY (dirp->current.d_name, dirp->current.data.cFileName, sizeof(dirp->current.d_name));
218+
dirp->current.d_name[MAX_PATH] = '\0';
219+
220+
#endif /* !_UNICODE */
221+
222+
return &dirp->current;
223+
}
224+
225+
226+
/*
227+
* Close directory stream opened by opendir() function. Close of the
228+
* directory stream invalidates the DIR structure as well as any previously
229+
* read directory entry.
230+
*/
231+
static int
232+
closedir(
233+
DIR *dirp)
234+
{
235+
assert (dirp != NULL);
236+
237+
/* release search handle */
238+
if (dirp->search_handle != INVALID_HANDLE_VALUE) {
239+
FindClose (dirp->search_handle);
240+
dirp->search_handle = INVALID_HANDLE_VALUE;
241+
}
242+
243+
/* release directory handle */
244+
free (dirp);
245+
return 0;
246+
}
247+
248+
249+
#endif /*DIRENT_H*/
Lines changed: 279 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,279 @@
1+
LIBRARY grass_dbmibase.dll
2+
EXPORTS
3+
add_login
4+
db_CatValArray_alloc
5+
db_CatValArray_free
6+
db_CatValArray_init
7+
db_CatValArray_realloc
8+
db_Cstring_to_lowercase
9+
db_Cstring_to_uppercase
10+
db__recv
11+
db__recv_char
12+
db__recv_column_default_value
13+
db__recv_column_definition
14+
db__recv_column_value
15+
db__recv_datetime
16+
db__recv_double
17+
db__recv_double_array
18+
db__recv_float
19+
db__recv_float_array
20+
db__recv_handle
21+
db__recv_index
22+
db__recv_index_array
23+
db__recv_int
24+
db__recv_int_array
25+
db__recv_procnum
26+
db__recv_return_code
27+
db__recv_short
28+
db__recv_short_array
29+
db__recv_string
30+
db__recv_string_array
31+
db__recv_table_data
32+
db__recv_table_definition
33+
db__recv_token
34+
db__recv_value
35+
db__send
36+
db__send_Cstring
37+
db__send_char
38+
db__send_column_default_value
39+
db__send_column_definition
40+
db__send_column_value
41+
db__send_datetime
42+
db__send_double
43+
db__send_double_array
44+
db__send_failure
45+
db__send_float
46+
db__send_float_array
47+
db__send_handle
48+
db__send_index
49+
db__send_index_array
50+
db__send_int
51+
db__send_int_array
52+
db__send_procedure_not_implemented
53+
db__send_procedure_ok
54+
db__send_short
55+
db__send_short_array
56+
db__send_string
57+
db__send_string_array
58+
db__send_success
59+
db__send_table_data
60+
db__send_table_definition
61+
db__send_token
62+
db__send_value
63+
db__set_protocol_fds
64+
db__start_procedure_call
65+
db_alloc_cursor_column_flags
66+
db_alloc_cursor_table
67+
db_alloc_dirent_array
68+
db_alloc_handle_array
69+
db_alloc_index_array
70+
db_alloc_index_columns
71+
db_alloc_string_array
72+
db_alloc_table
73+
db_append_string
74+
db_auto_print_errors
75+
db_auto_print_protocol_errors
76+
db_calloc
77+
db_char_to_lowercase
78+
db_char_to_uppercase
79+
db_clear_error
80+
db_convert_Cstring_to_column_default_value
81+
db_convert_Cstring_to_column_value
82+
db_convert_Cstring_to_value
83+
db_convert_Cstring_to_value_datetime
84+
db_convert_column_default_value_to_string
85+
db_convert_column_value_to_string
86+
db_convert_value_datetime_into_string
87+
db_convert_value_to_string
88+
db_copy_dbmscap_entry
89+
db_copy_string
90+
db_copy_value
91+
db_dbmscap_filename
92+
db_debug
93+
db_debug_off
94+
db_debug_on
95+
db_dirent
96+
db_double_quote_string
97+
db_drop_token
98+
db_enlarge_string
99+
db_error
100+
db_find_token
101+
db_free_column
102+
db_free_cursor
103+
db_free_cursor_column_flags
104+
db_free_dbmscap
105+
db_free_dirent_array
106+
db_free_handle
107+
db_free_handle_array
108+
db_free_index
109+
db_free_index_array
110+
db_free_string
111+
db_free_string_array
112+
db_free_table
113+
db_get_column_default_value
114+
db_get_column_description
115+
db_get_column_host_type
116+
db_get_column_length
117+
db_get_column_name
118+
db_get_column_precision
119+
db_get_column_scale
120+
db_get_column_select_priv
121+
db_get_column_sqltype
122+
db_get_column_update_priv
123+
db_get_column_value
124+
db_get_connection
125+
db_get_cursor_number_of_columns
126+
db_get_cursor_table
127+
db_get_cursor_token
128+
db_get_default_database_name
129+
db_get_default_driver_name
130+
db_get_default_group_name
131+
db_get_default_schema_name
132+
db_get_error_code
133+
db_get_error_msg
134+
db_get_error_who
135+
db_get_handle_dbname
136+
db_get_handle_dbschema
137+
db_get_index_column_name
138+
db_get_index_name
139+
db_get_index_number_of_columns
140+
db_get_index_table_name
141+
db_get_login
142+
db_get_string
143+
db_get_table_column
144+
db_get_table_delete_priv
145+
db_get_table_description
146+
db_get_table_insert_priv
147+
db_get_table_name
148+
db_get_table_number_of_columns
149+
db_get_table_select_priv
150+
db_get_table_update_priv
151+
db_get_value_as_double
152+
db_get_value_day
153+
db_get_value_double
154+
db_get_value_hour
155+
db_get_value_int
156+
db_get_value_minute
157+
db_get_value_month
158+
db_get_value_seconds
159+
db_get_value_string
160+
db_get_value_year
161+
db_has_dbms
162+
db_init_column
163+
db_init_cursor
164+
db_init_handle
165+
db_init_index
166+
db_init_string
167+
db_init_table
168+
db_interval_range
169+
db_isdir
170+
db_legal_tablename
171+
db_malloc
172+
db_memory_error
173+
db_new_token
174+
db_nocase_compare
175+
db_noproc_error
176+
db_on_error
177+
db_print_error
178+
db_print_index
179+
db_procedure_not_implemented
180+
db_protocol_error
181+
db_read_dbmscap
182+
db_realloc
183+
db_set_column_description
184+
db_set_column_has_defined_default_value
185+
db_set_column_has_undefined_default_value
186+
db_set_column_host_type
187+
db_set_column_length
188+
db_set_column_name
189+
db_set_column_null_allowed
190+
db_set_column_precision
191+
db_set_column_scale
192+
db_set_column_select_priv_granted
193+
db_set_column_select_priv_not_granted
194+
db_set_column_sqltype
195+
db_set_column_update_priv_granted
196+
db_set_column_update_priv_not_granted
197+
db_set_column_use_default_value
198+
db_set_connection
199+
db_set_cursor_column_flag
200+
db_set_cursor_column_for_update
201+
db_set_cursor_mode
202+
db_set_cursor_mode_insensitive
203+
db_set_cursor_mode_scroll
204+
db_set_cursor_table
205+
db_set_cursor_token
206+
db_set_cursor_type_insert
207+
db_set_cursor_type_readonly
208+
db_set_cursor_type_update
209+
db_set_error_who
210+
db_set_handle
211+
db_set_index_column_name
212+
db_set_index_name
213+
db_set_index_table_name
214+
db_set_index_type_non_unique
215+
db_set_index_type_unique
216+
db_set_login
217+
db_set_string
218+
db_set_string_no_copy
219+
db_set_table_delete_priv_granted
220+
db_set_table_delete_priv_not_granted
221+
db_set_table_description
222+
db_set_table_insert_priv_granted
223+
db_set_table_insert_priv_not_granted
224+
db_set_table_name
225+
db_set_table_select_priv_granted
226+
db_set_table_select_priv_not_granted
227+
db_set_table_update_priv_granted
228+
db_set_table_update_priv_not_granted
229+
db_set_value_datetime_current
230+
db_set_value_datetime_not_current
231+
db_set_value_day
232+
db_set_value_double
233+
db_set_value_hour
234+
db_set_value_int
235+
db_set_value_minute
236+
db_set_value_month
237+
db_set_value_not_null
238+
db_set_value_null
239+
db_set_value_seconds
240+
db_set_value_string
241+
db_set_value_year
242+
db_sizeof_string
243+
db_sqltype_name
244+
db_sqltype_to_Ctype
245+
db_store
246+
db_strip
247+
db_syserror
248+
db_table_to_sql
249+
db_test_column_has_default_value
250+
db_test_column_has_defined_default_value
251+
db_test_column_has_undefined_default_value
252+
db_test_column_null_allowed
253+
db_test_column_use_default_value
254+
db_test_cursor_any_column_flag
255+
db_test_cursor_any_column_for_update
256+
db_test_cursor_column_flag
257+
db_test_cursor_column_for_update
258+
db_test_cursor_mode_insensitive
259+
db_test_cursor_mode_scroll
260+
db_test_cursor_type_fetch
261+
db_test_cursor_type_insert
262+
db_test_cursor_type_update
263+
db_test_index_type_unique
264+
db_test_value_datetime_current
265+
db_test_value_isnull
266+
db_unset_column_has_default_value
267+
db_unset_column_null_allowed
268+
db_unset_column_use_default_value
269+
db_unset_cursor_column_flag
270+
db_unset_cursor_column_for_update
271+
db_unset_cursor_mode
272+
db_unset_cursor_mode_insensitive
273+
db_unset_cursor_mode_scroll
274+
db_whoami
275+
db_zero
276+
db_zero_string
277+
init_login
278+
read_file
279+
write_file
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
LIBRARY grass_dbmiclient.dll
2+
EXPORTS
3+
db_CatValArray_get_value
4+
db_CatValArray_get_value_double
5+
db_CatValArray_get_value_int
6+
db_CatValArray_sort
7+
db_CatValArray_sort_by_value
8+
db__copy_table
9+
db_add_column
10+
db_begin_transaction
11+
db_bind_update
12+
db_close_cursor
13+
db_close_database
14+
db_close_database_shutdown_driver
15+
db_column_Ctype
16+
db_column_sqltype
17+
db_commit_transaction
18+
db_copy_table
19+
db_copy_table_by_ints
20+
db_copy_table_select
21+
db_copy_table_where
22+
db_create_database
23+
db_create_index
24+
db_create_index2
25+
db_create_table
26+
db_delete
27+
db_delete_database
28+
db_delete_table
29+
db_describe_table
30+
db_drop_column
31+
db_drop_index
32+
db_drop_table
33+
db_execute_immediate
34+
db_fetch
35+
db_find_database
36+
db_get_column
37+
db_get_num_rows
38+
db_get_table_number_of_rows
39+
db_grant_on_table
40+
db_gversion
41+
db_insert
42+
db_list_databases
43+
db_list_drivers
44+
db_list_indexes
45+
db_list_tables
46+
db_open_database
47+
db_open_insert_cursor
48+
db_open_select_cursor
49+
db_open_update_cursor
50+
db_print_column_definition
51+
db_print_table_definition
52+
db_select_CatValArray
53+
db_select_int
54+
db_select_value
55+
db_shutdown_driver
56+
db_start_driver
57+
db_start_driver_open_database
58+
db_table_exists
59+
db_update

‎src/providers/grass/vc/grass_dgl.def

Lines changed: 247 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,247 @@
1+
LIBRARY grass_dgl.dll
2+
EXPORTS
3+
DGL_GET_NODE_INEDGESET_FUNC
4+
avl_allocator_default
5+
avl_assert_delete
6+
avl_assert_insert
7+
avl_copy
8+
avl_create
9+
avl_delete
10+
avl_destroy
11+
avl_find
12+
avl_free
13+
avl_insert
14+
avl_malloc
15+
avl_probe
16+
avl_replace
17+
avl_t_copy
18+
avl_t_cur
19+
avl_t_find
20+
avl_t_first
21+
avl_t_init
22+
avl_t_insert
23+
avl_t_last
24+
avl_t_next
25+
avl_t_prev
26+
avl_t_replace
27+
dglAddEdge
28+
dglAddEdgeX
29+
dglAddNode
30+
dglDelEdge
31+
dglDelNode
32+
dglDepthComponents
33+
dglDepthSpanning
34+
dglEdgeGet_Attr
35+
dglEdgeGet_Cost
36+
dglEdgeGet_Head
37+
dglEdgeGet_Id
38+
dglEdgeGet_Tail
39+
dglEdgeSet_Attr
40+
dglEdge_T_First
41+
dglEdge_T_Initialize
42+
dglEdge_T_Next
43+
dglEdge_T_Release
44+
dglEdgesetGet_EdgeCount
45+
dglEdgeset_T_First
46+
dglEdgeset_T_Initialize
47+
dglEdgeset_T_Next
48+
dglEdgeset_T_Release
49+
dglErrno
50+
dglFlatten
51+
dglFreeSPReport
52+
dglGetEdge
53+
dglGetNode
54+
dglGet_AloneNodeCount
55+
dglGet_Cost
56+
dglGet_EdgeAttrSize
57+
dglGet_EdgeCount
58+
dglGet_EdgePrioritizer
59+
dglGet_EdgeSize
60+
dglGet_Endianess
61+
dglGet_Family
62+
dglGet_HeadNodeCount
63+
dglGet_NodeAttrSize
64+
dglGet_NodeCount
65+
dglGet_NodePrioritizer
66+
dglGet_NodeSize
67+
dglGet_Opaque
68+
dglGet_Options
69+
dglGet_State
70+
dglGet_TailNodeCount
71+
dglGet_Version
72+
dglHeapExtractMax
73+
dglHeapExtractMin
74+
dglHeapFree
75+
dglHeapInit
76+
dglHeapInsertMax
77+
dglHeapInsertMin
78+
dglIOContextInitialize
79+
dglIOContextRelease
80+
dglInitialize
81+
dglInitializeSPCache
82+
dglMinimumSpanning
83+
dglNodeGet_Attr
84+
dglNodeGet_Id
85+
dglNodeGet_InDegree
86+
dglNodeGet_InEdgeset
87+
dglNodeGet_OutDegree
88+
dglNodeGet_OutEdgeset
89+
dglNodeGet_Status
90+
dglNodeGet_Valence
91+
dglNodeSet_Attr
92+
dglNode_T_Find
93+
dglNode_T_First
94+
dglNode_T_Initialize
95+
dglNode_T_Next
96+
dglNode_T_Release
97+
dglRead
98+
dglReadChunk
99+
dglRelease
100+
dglReleaseSPCache
101+
dglResetStats
102+
dglSet_Cost
103+
dglSet_Family
104+
dglSet_Opaque
105+
dglSet_Options
106+
dglSet_Version
107+
dglShortestDistance
108+
dglShortestPath
109+
dglStrerror
110+
dglTreeEdgeAdd
111+
dglTreeEdgeAlloc
112+
dglTreeEdgeCancel
113+
dglTreeEdgeCompare
114+
dglTreeEdgePri32Add
115+
dglTreeEdgePri32Alloc
116+
dglTreeEdgePri32Cancel
117+
dglTreeEdgePri32Compare
118+
dglTreeGetAllocator
119+
dglTreeNode2Add
120+
dglTreeNode2Alloc
121+
dglTreeNode2Cancel
122+
dglTreeNode2Compare
123+
dglTreeNodeAdd
124+
dglTreeNodeAlloc
125+
dglTreeNodeCancel
126+
dglTreeNodeCompare
127+
dglTreeNodePri32Add
128+
dglTreeNodePri32Alloc
129+
dglTreeNodePri32Cancel
130+
dglTreeNodePri32Compare
131+
dglTreePredistAdd
132+
dglTreePredistAlloc
133+
dglTreePredistCancel
134+
dglTreePredistCompare
135+
dglTreeTouchI32Add
136+
dglTreeTouchI32Alloc
137+
dglTreeTouchI32Cancel
138+
dglTreeTouchI32Compare
139+
dglUnflatten
140+
dglWrite
141+
dglWriteChunk
142+
dgl_add_edge_V1
143+
dgl_add_edge_V2
144+
dgl_add_node_V1
145+
dgl_add_node_V2
146+
dgl_del_edge_V1
147+
dgl_del_edge_V2
148+
dgl_del_node_V1
149+
dgl_del_node_V2
150+
dgl_del_node_inedge_V2
151+
dgl_del_node_outedge_V2
152+
dgl_depthfirst_spanning_V1
153+
dgl_depthfirst_spanning_V2
154+
dgl_dijkstra_V1
155+
dgl_dijkstra_V1_FLAT
156+
dgl_dijkstra_V1_TREE
157+
dgl_dijkstra_V2
158+
dgl_dijkstra_V2_FLAT
159+
dgl_dijkstra_V2_TREE
160+
dgl_edge_prioritizer_add
161+
dgl_edge_prioritizer_del
162+
dgl_edge_t_first_V1
163+
dgl_edge_t_first_V2
164+
dgl_edge_t_initialize_V1
165+
dgl_edge_t_initialize_V2
166+
dgl_edge_t_next_V1
167+
dgl_edge_t_next_V2
168+
dgl_edge_t_release_V1
169+
dgl_edge_t_release_V2
170+
dgl_edgeset_t_first_V1
171+
dgl_edgeset_t_first_V2
172+
dgl_edgeset_t_initialize_V1
173+
dgl_edgeset_t_initialize_V2
174+
dgl_edgeset_t_next_V1
175+
dgl_edgeset_t_next_V2
176+
dgl_edgeset_t_release_V1
177+
dgl_edgeset_t_release_V2
178+
dgl_flatten_V1
179+
dgl_flatten_V2
180+
dgl_get_edge_V1
181+
dgl_get_edge_V2
182+
dgl_get_node_V1
183+
dgl_get_node_V2
184+
dgl_getnode_inedgeset_V2
185+
dgl_getnode_outedgeset_V1
186+
dgl_getnode_outedgeset_V2
187+
dgl_initialize_V1
188+
dgl_initialize_V2
189+
dgl_mempop
190+
dgl_mempush
191+
dgl_minimum_spanning_V1
192+
dgl_minimum_spanning_V2
193+
dgl_node_t_find_V1
194+
dgl_node_t_find_V2
195+
dgl_node_t_first_V1
196+
dgl_node_t_first_V2
197+
dgl_node_t_initialize_V1
198+
dgl_node_t_initialize_V2
199+
dgl_node_t_next_V1
200+
dgl_node_t_next_V2
201+
dgl_node_t_release_V1
202+
dgl_node_t_release_V2
203+
dgl_read_V1
204+
dgl_read_V2
205+
dgl_release_V1
206+
dgl_release_V2
207+
dgl_sp_cache_initialize_V1
208+
dgl_sp_cache_initialize_V2
209+
dgl_sp_cache_release_V1
210+
dgl_sp_cache_release_V2
211+
dgl_span_depthfirst_spanning_V1_FLAT
212+
dgl_span_depthfirst_spanning_V1_TREE
213+
dgl_span_depthfirst_spanning_V2_FLAT
214+
dgl_span_depthfirst_spanning_V2_TREE
215+
dgl_span_minimum_spanning_V1_FLAT
216+
dgl_span_minimum_spanning_V1_TREE
217+
dgl_span_minimum_spanning_V2_FLAT
218+
dgl_span_minimum_spanning_V2_TREE
219+
dgl_swapInt32Bytes
220+
dgl_swapInt64Bytes
221+
dgl_unflatten_V1
222+
dgl_unflatten_V2
223+
dgl_write_V1
224+
dgl_write_V2
225+
tavl_allocator_default
226+
tavl_assert_delete
227+
tavl_assert_insert
228+
tavl_copy
229+
tavl_create
230+
tavl_delete
231+
tavl_destroy
232+
tavl_find
233+
tavl_free
234+
tavl_insert
235+
tavl_malloc
236+
tavl_probe
237+
tavl_replace
238+
tavl_t_copy
239+
tavl_t_cur
240+
tavl_t_find
241+
tavl_t_first
242+
tavl_t_init
243+
tavl_t_insert
244+
tavl_t_last
245+
tavl_t_next
246+
tavl_t_prev
247+
tavl_t_replace

‎src/providers/grass/vc/grass_dig2.def

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
LIBRARY grass_dig2.dll
2+
EXPORTS
3+
Cur_Head
4+
dbl_cnvrt
5+
dbl_order
6+
dig_Rd_P_area
7+
dig_Rd_P_isle
8+
dig_Rd_P_line
9+
dig_Rd_P_node
10+
dig_Rd_Plus_head
11+
dig_Rd_spindx_head
12+
dig_Wr_P_area
13+
dig_Wr_P_isle
14+
dig_Wr_P_line
15+
dig_Wr_P_node
16+
dig_Wr_Plus_head
17+
dig_Wr_spindx_head
18+
dig__alloc_space
19+
dig__byte_order_out
20+
dig__falloc
21+
dig__fread_port_C
22+
dig__fread_port_D
23+
dig__fread_port_F
24+
dig__fread_port_I
25+
dig__fread_port_L
26+
dig__fread_port_P
27+
dig__fread_port_S
28+
dig__frealloc
29+
dig__fwrite_port_C
30+
dig__fwrite_port_D
31+
dig__fwrite_port_F
32+
dig__fwrite_port_I
33+
dig__fwrite_port_L
34+
dig__fwrite_port_P
35+
dig__fwrite_port_S
36+
dig__read_head
37+
dig__write_head
38+
dig_add_area
39+
dig_add_isle
40+
dig_add_line
41+
dig_add_node
42+
dig_alloc_area
43+
dig_alloc_areas
44+
dig_alloc_cats
45+
dig_alloc_isle
46+
dig_alloc_isles
47+
dig_alloc_line
48+
dig_alloc_lines
49+
dig_alloc_node
50+
dig_alloc_nodes
51+
dig_alloc_points
52+
dig_alloc_space
53+
dig_angle_next_line
54+
dig_area_add_isle
55+
dig_area_alloc_isle
56+
dig_area_alloc_line
57+
dig_area_del_isle
58+
dig_area_set_box
59+
dig_box_copy
60+
dig_box_extend
61+
dig_build_area_with_line
62+
dig_calc_begin_angle
63+
dig_calc_end_angle
64+
dig_cidx_add_cat
65+
dig_cidx_add_cat_sorted
66+
dig_cidx_del_cat
67+
dig_cidx_free
68+
dig_cidx_init
69+
dig_cidx_sort
70+
dig_del_area
71+
dig_del_isle
72+
dig_del_line
73+
dig_distance2_point_to_line
74+
dig_dump_spidx
75+
dig_falloc
76+
dig_fflush
77+
dig_file_free
78+
dig_file_init
79+
dig_file_load
80+
dig_find_area_poly
81+
dig_find_intersection
82+
dig_find_node
83+
dig_fread
84+
dig_frealloc
85+
dig_free_plus
86+
dig_free_plus_areas
87+
dig_free_plus_isles
88+
dig_free_plus_lines
89+
dig_free_plus_nodes
90+
dig_fseek
91+
dig_ftell
92+
dig_fwrite
93+
dig_get_poly_points
94+
dig_in_area_bbox
95+
dig_init_list
96+
dig_init_plus
97+
dig_init_portable
98+
dig_is_line_degenerate
99+
dig_isle_alloc_line
100+
dig_isle_set_box
101+
dig_line_add_updated
102+
dig_line_box
103+
dig_line_degenerate
104+
dig_line_get_area
105+
dig_line_get_box
106+
dig_line_reset_updated
107+
dig_line_set_area
108+
dig_line_set_box
109+
dig_list_add
110+
dig_load_plus
111+
dig_node_add_line
112+
dig_node_add_updated
113+
dig_node_alloc_line
114+
dig_node_angle_check
115+
dig_node_line_angle
116+
dig_node_reset_updated
117+
dig_out_of_memory
118+
dig_prune
119+
dig_read_cidx
120+
dig_read_cidx_head
121+
dig_read_frmt_ascii
122+
dig_read_spidx
123+
dig_rewind
124+
dig_select_areas
125+
dig_select_isles
126+
dig_select_lines
127+
dig_select_nodes
128+
dig_set_cur_port
129+
dig_set_distance_to_line_tolerance
130+
dig_spidx_add_area
131+
dig_spidx_add_isle
132+
dig_spidx_add_line
133+
dig_spidx_add_node
134+
dig_spidx_del_area
135+
dig_spidx_del_isle
136+
dig_spidx_del_line
137+
dig_spidx_del_node
138+
dig_spidx_free
139+
dig_spidx_free_areas
140+
dig_spidx_free_isles
141+
dig_spidx_free_lines
142+
dig_spidx_free_nodes
143+
dig_spidx_init
144+
dig_test_for_intersection
145+
dig_type_from_store
146+
dig_type_to_store
147+
dig_which_node
148+
dig_write_areas
149+
dig_write_cidx
150+
dig_write_cidx_head
151+
dig_write_frmt_ascii
152+
dig_write_isles
153+
dig_write_lines
154+
dig_write_nodes
155+
dig_write_plus_file
156+
dig_write_spidx
157+
dig_x_intersect
158+
flt_cnvrt
159+
flt_order
160+
int_cnvrt
161+
int_order
162+
lng_cnvrt
163+
lng_order
164+
nat_dbl
165+
nat_flt
166+
nat_int
167+
nat_lng
168+
nat_shrt
169+
port_init
170+
rtree_dump_branch
171+
rtree_dump_node
172+
rtree_read_branch
173+
rtree_read_node
174+
rtree_write_branch
175+
rtree_write_node
176+
shrt_cnvrt
177+
shrt_order

‎src/providers/grass/vc/grass_gis.def

Lines changed: 733 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
LIBRARY grass_gproj.dll
2+
EXPORTS
3+
GPJ__get_datum_params
4+
GPJ__get_ellipsoid_params
5+
GPJ_ask_datum_params
6+
GPJ_free_datum
7+
GPJ_free_ellps
8+
GPJ_get_datum_by_name
9+
GPJ_get_datum_params
10+
GPJ_get_datum_transform_by_name
11+
GPJ_get_default_datum_params_by_name
12+
GPJ_get_ellipsoid_by_name
13+
GPJ_get_ellipsoid_params
14+
GPJ_get_equivalent_latlong
15+
;GPJ_grass_to_osr
16+
;GPJ_grass_to_wkt
17+
;GPJ_osr_to_grass
18+
;GPJ_set_csv_loc
19+
;GPJ_wkt_to_grass
20+
free_datum_list
21+
free_ellps_list
22+
pj_do_proj
23+
pj_do_transform
24+
pj_get_kv
25+
pj_get_string
26+
pj_print_proj_params
27+
read_datum_table
28+
read_ellipsoid_table
29+
set_proj_lib
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
LIBRARY grass_linkm.dll
2+
EXPORTS
3+
link__get_next
4+
link__set_next
5+
link_cleanup
6+
link_dispose
7+
link_exit_on_error
8+
link_init
9+
link_new
10+
link_out_of_memory
11+
link_set_chunk_size
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
LIBRARY grass_rtree.dll
2+
EXPORTS
3+
BranchBuf
4+
BranchCount
5+
CoverSplit
6+
CoverSplitArea
7+
LEAFCARD
8+
NODECARD
9+
Partitions
10+
RTreeAddBranch
11+
RTreeCombineRect
12+
RTreeContained
13+
RTreeDeleteRect
14+
RTreeDestroyNode
15+
RTreeDisconnectBranch
16+
RTreeFreeNode
17+
RTreeGetLeafMax
18+
RTreeGetNodeMax
19+
RTreeInitNode
20+
RTreeInitRect
21+
RTreeInsertRect
22+
RTreeNewIndex
23+
RTreeNewNode
24+
RTreeNodeCover
25+
RTreeNullRect
26+
RTreeOverlap
27+
RTreePickBranch
28+
RTreePrintNode
29+
RTreePrintRect
30+
RTreeRectSphericalVolume
31+
RTreeRectSurfaceArea
32+
RTreeRectVolume
33+
RTreeSearch
34+
RTreeSetLeafMax
35+
RTreeSetNodeMax
36+
RTreeSplitNode
37+
RTreeTabIn
38+
UnitSphereVolumes

‎src/providers/grass/vc/grass_vect.def

Lines changed: 311 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,311 @@
1+
LIBRARY grass_vect.dll
2+
EXPORTS
3+
Msgout
4+
V1__rewrite_line_nat
5+
V1_close_nat
6+
V1_close_ogr
7+
V1_delete_line_nat
8+
V1_open_new_nat
9+
V1_open_old_nat
10+
V1_open_old_ogr
11+
V1_read_line_nat
12+
V1_read_next_line_nat
13+
V1_read_next_line_ogr
14+
V1_rewind_nat
15+
V1_rewind_ogr
16+
V1_rewrite_line_nat
17+
V1_write_line_nat
18+
V2_close_ogr
19+
V2_delete_line_nat
20+
V2_open_old_ogr
21+
V2_read_line_nat
22+
V2_read_line_ogr
23+
V2_read_next_line_nat
24+
V2_read_next_line_ogr
25+
V2_rewind_nat
26+
V2_rewind_ogr
27+
V2_rewrite_line_nat
28+
V2_write_line_nat
29+
V__map_overlap
30+
Vect__Read_line_nat
31+
Vect__init_head
32+
Vect__intersect_line_with_poly
33+
Vect__new_cats_struct
34+
Vect__new_line_struct
35+
Vect__open_old
36+
Vect__read_head
37+
Vect__write_head
38+
Vect_add_dblink
39+
Vect_append_point
40+
Vect_append_points
41+
Vect_area_alive
42+
Vect_area_perimeter
43+
Vect_array_to_cat_list
44+
Vect_attach_centroids
45+
Vect_attach_isle
46+
Vect_attach_isles
47+
Vect_box_clip
48+
Vect_box_copy
49+
Vect_box_extend
50+
Vect_box_overlap
51+
Vect_break_lines
52+
Vect_break_polygons
53+
Vect_build
54+
Vect_build_line_area
55+
Vect_build_nat
56+
Vect_build_ogr
57+
Vect_build_partial
58+
Vect_build_sidx_from_topo
59+
Vect_build_spatial_index
60+
Vect_cat_del
61+
Vect_cat_get
62+
Vect_cat_in_array
63+
Vect_cat_in_cat_list
64+
Vect_cat_set
65+
Vect_check_dblink
66+
Vect_check_input_output_name
67+
Vect_chtype_bridges
68+
Vect_chtype_dangles
69+
Vect_cidx_dump
70+
Vect_cidx_find_all
71+
Vect_cidx_find_next
72+
Vect_cidx_get_cat_by_index
73+
Vect_cidx_get_field_index
74+
Vect_cidx_get_field_number
75+
Vect_cidx_get_num_cats_by_index
76+
Vect_cidx_get_num_fields
77+
Vect_cidx_get_num_types_by_index
78+
Vect_cidx_get_num_unique_cats_by_index
79+
Vect_cidx_get_type_count
80+
Vect_cidx_get_type_count_by_index
81+
Vect_cidx_open
82+
Vect_cidx_save
83+
Vect_clean_small_angles_at_nodes
84+
Vect_close
85+
Vect_coor_info
86+
Vect_copy
87+
Vect_copy_head_data
88+
Vect_copy_map_lines
89+
Vect_copy_pnts_to_xyz
90+
Vect_copy_table
91+
Vect_copy_table_by_cats
92+
Vect_copy_tables
93+
Vect_copy_xyz_to_pnts
94+
Vect_default_field_info
95+
Vect_delete
96+
Vect_delete_line
97+
Vect_destroy_cat_list
98+
Vect_destroy_cats_struct
99+
Vect_destroy_line_struct
100+
Vect_destroy_list
101+
Vect_field_cat_del
102+
Vect_find_area
103+
Vect_find_island
104+
Vect_find_line
105+
Vect_find_line_list
106+
Vect_find_node
107+
Vect_find_poly_centroid
108+
Vect_get_area_area
109+
Vect_get_area_boundaries
110+
Vect_get_area_box
111+
Vect_get_area_cat
112+
Vect_get_area_cats
113+
Vect_get_area_centroid
114+
Vect_get_area_isle
115+
Vect_get_area_num_isles
116+
Vect_get_area_points
117+
Vect_get_built
118+
Vect_get_centroid_area
119+
Vect_get_column_names
120+
Vect_get_column_names_types
121+
Vect_get_column_types
122+
Vect_get_comment
123+
Vect_get_constraint_box
124+
Vect_get_date
125+
Vect_get_dblink
126+
Vect_get_fatal_error
127+
Vect_get_field
128+
Vect_get_full_name
129+
Vect_get_isle_area
130+
Vect_get_isle_boundaries
131+
Vect_get_isle_box
132+
Vect_get_isle_points
133+
Vect_get_line_areas
134+
Vect_get_line_box
135+
Vect_get_line_cat
136+
Vect_get_line_nodes
137+
Vect_get_map_box
138+
Vect_get_map_date
139+
Vect_get_map_name
140+
Vect_get_mapset
141+
Vect_get_name
142+
Vect_get_node_coor
143+
Vect_get_node_line
144+
Vect_get_node_line_angle
145+
Vect_get_node_n_lines
146+
Vect_get_num_areas
147+
Vect_get_num_dblinks
148+
Vect_get_num_faces
149+
Vect_get_num_islands
150+
Vect_get_num_lines
151+
Vect_get_num_nodes
152+
Vect_get_num_primitives
153+
Vect_get_num_updated_lines
154+
Vect_get_num_updated_nodes
155+
Vect_get_organization
156+
Vect_get_person
157+
Vect_get_point_in_area
158+
Vect_get_point_in_poly
159+
Vect_get_point_in_poly_isl
160+
Vect_get_proj
161+
Vect_get_proj_name
162+
Vect_get_scale
163+
Vect_get_thresh
164+
Vect_get_updated_line
165+
Vect_get_updated_node
166+
Vect_get_zone
167+
Vect_graph_add_edge
168+
Vect_graph_build
169+
Vect_graph_init
170+
Vect_graph_set_node_costs
171+
Vect_graph_shortest_path
172+
Vect_hist_command
173+
Vect_hist_copy
174+
Vect_hist_read
175+
Vect_hist_rewind
176+
Vect_hist_write
177+
Vect_is_3d
178+
Vect_isle_alive
179+
Vect_isle_find_area
180+
Vect_legal_filename
181+
Vect_level
182+
Vect_line_alive
183+
Vect_line_box
184+
Vect_line_buffer
185+
Vect_line_check_intersection
186+
Vect_line_delete_point
187+
Vect_line_distance
188+
Vect_line_geodesic_length
189+
Vect_line_insert_point
190+
Vect_line_intersection
191+
Vect_line_length
192+
Vect_line_parallel
193+
Vect_line_prune
194+
Vect_line_prune_thresh
195+
Vect_line_reverse
196+
Vect_line_segment
197+
Vect_list_append
198+
Vect_list_append_list
199+
Vect_list_delete
200+
Vect_list_delete_list
201+
Vect_map_add_dblink
202+
Vect_map_check_dblink
203+
Vect_map_del_dblink
204+
Vect_maptype_info
205+
Vect_net_build_graph
206+
Vect_net_get_line_cost
207+
Vect_net_get_node_cost
208+
Vect_net_nearest_nodes
209+
Vect_net_shortest_path
210+
Vect_net_shortest_path_coor
211+
Vect_new_cat_list
212+
Vect_new_cats_struct
213+
Vect_new_dblinks_struct
214+
Vect_new_line_struct
215+
Vect_new_list
216+
Vect_new_varray
217+
Vect_node_alive
218+
Vect_open_new
219+
Vect_open_old
220+
Vect_open_old_head
221+
Vect_open_spatial_index
222+
Vect_open_topo
223+
Vect_open_update
224+
Vect_open_update_head
225+
Vect_option_to_types
226+
Vect_overlay
227+
Vect_overlay_and
228+
Vect_overlay_str_to_operator
229+
Vect_point_in_area
230+
Vect_point_in_area_outer_ring
231+
Vect_point_in_box
232+
Vect_point_in_island
233+
Vect_point_in_poly
234+
Vect_point_on_line
235+
Vect_points_distance
236+
Vect_print_header
237+
Vect_read_dblinks
238+
Vect_read_header
239+
Vect_read_line
240+
Vect_read_next_line
241+
Vect_region_box
242+
Vect_remove_bridges
243+
Vect_remove_constraints
244+
Vect_remove_dangles
245+
Vect_remove_duplicates
246+
Vect_remove_small_areas
247+
Vect_rename
248+
Vect_reset_cats
249+
Vect_reset_dblinks
250+
Vect_reset_line
251+
Vect_reset_list
252+
Vect_rewind
253+
Vect_rewrite_line
254+
Vect_save_spatial_index
255+
Vect_save_topo
256+
Vect_segment_intersection
257+
Vect_select_areas_by_box
258+
Vect_select_areas_by_polygon
259+
Vect_select_isles_by_box
260+
Vect_select_lines_by_box
261+
Vect_select_lines_by_polygon
262+
Vect_select_nodes_by_box
263+
Vect_set_category_index_update
264+
Vect_set_comment
265+
Vect_set_constraint_region
266+
Vect_set_constraint_type
267+
Vect_set_date
268+
Vect_set_db_updated
269+
Vect_set_fatal_error
270+
Vect_set_map_date
271+
Vect_set_map_name
272+
Vect_set_open_level
273+
Vect_set_organization
274+
Vect_set_person
275+
Vect_set_release_support
276+
Vect_set_scale
277+
Vect_set_thresh
278+
Vect_set_varray_from_cat_list
279+
Vect_set_varray_from_cat_string
280+
Vect_set_varray_from_db
281+
Vect_set_zone
282+
Vect_snap_lines
283+
Vect_snap_lines_list
284+
Vect_spatial_index_add_item
285+
Vect_spatial_index_del_item
286+
Vect_spatial_index_destroy
287+
Vect_spatial_index_dump
288+
Vect_spatial_index_init
289+
Vect_spatial_index_select
290+
Vect_str_to_cat_list
291+
Vect_subst_var
292+
Vect_tin_get_z
293+
Vect_topo_dump
294+
Vect_val_in_list
295+
Vect_write_dblinks
296+
Vect_write_header
297+
Vect_write_line
298+
add_area_cats_to_cidx
299+
add_item
300+
check_coor
301+
clean_parallel
302+
delete_area_cats_from_cidx
303+
fatal_error
304+
find_cross
305+
parallel_line
306+
point_in_buf
307+
prnmsg
308+
remove_bridges
309+
remove_dangles
310+
segments_x_ray
311+
srch

‎src/providers/grass/vc/rpc.h

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)rpc.h 2.3 88/08/10 4.0 RPCSRC; from 1.9 88/02/08 SMI */
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
42+
/*
43+
* rpc.h, Just includes the billions of rpc header files necessary to
44+
* do remote procedure calling.
45+
*
46+
* Copyright (C) 1984, Sun Microsystems, Inc.
47+
*/
48+
#ifndef __RPC_HEADER__
49+
#define __RPC_HEADER__
50+
51+
#ifdef WIN32
52+
#define FD_SETSIZE 128
53+
54+
#include <stdlib.h>
55+
#include <winsock.h>
56+
#include <rpc/types.h> /* some typedefs */
57+
#include <process.h>
58+
59+
#define WSAerrno (WSAGetLastError())
60+
#define gettimeofday(tv,tz) ((tv)->tv_sec = time(0), (tv)->tv_usec = 0)
61+
62+
#ifdef __cplusplus
63+
extern "C" {
64+
#define DOTS ...
65+
#else
66+
#define DOTS
67+
#endif
68+
69+
extern int rpc_nt_init(void);
70+
extern int rpc_nt_exit(void);
71+
extern void nt_rpc_report(DOTS);
72+
73+
#include <rpc/bcopy.h>
74+
extern int xdr_opaque_auth(DOTS);
75+
76+
#ifdef __cplusplus
77+
};
78+
#endif
79+
80+
#else
81+
#include <rpc/types.h> /* some typedefs */
82+
#include <netinet/in.h>
83+
#endif
84+
85+
/* external data representation interfaces */
86+
#include <rpc/xdr.h> /* generic (de)serializer */
87+
88+
/* Client side only authentication */
89+
#include <rpc/auth.h> /* generic authenticator (client side) */
90+
91+
/* Client side (mostly) remote procedure call */
92+
#include <rpc/clnt.h> /* generic rpc stuff */
93+
94+
/* semi-private protocol headers */
95+
#include <rpc/rpc_msg.h> /* protocol for rpc messages */
96+
#ifdef WIN32
97+
#include <rpc/auth_uni.h> /* protocol for unix style cred */
98+
#else
99+
#include <rpc/auth_unix.h> /* protocol for unix style cred */
100+
#endif
101+
/*
102+
* Uncomment-out the next line if you are building the rpc library with
103+
* DES Authentication (see the README file in the secure_rpc/ directory).
104+
*/
105+
/*#include <rpc/auth_des.h> /* protocol for des style cred */
106+
107+
/* Server side only remote procedure callee */
108+
#include <rpc/svc.h> /* service manager and multiplexer */
109+
#include <rpc/svc_auth.h> /* service side authenticator */
110+
111+
/*
112+
* COMMENT OUT THE NEXT INCLUDE IF RUNNING ON SUN OS OR ON A VERSION
113+
* OF UNIX BASED ON NFSSRC. These systems will already have the structures
114+
* defined by <rpc/netdb.h> included in <netdb.h>.
115+
*/
116+
/* routines for parsing /etc/rpc */
117+
#include <rpc/netdb.h> /* structures and routines to parse /etc/rpc */
118+
119+
#endif /* ndef __RPC_HEADER__ */

‎src/providers/grass/vc/rpc/auth.h

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)auth.h 2.3 88/08/07 4.0 RPCSRC; from 1.17 88/02/08 SMI */
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
42+
/*
43+
* auth.h, Authentication interface.
44+
*
45+
* Copyright (C) 1984, Sun Microsystems, Inc.
46+
*
47+
* The data structures are completely opaque to the client. The client
48+
* is required to pass a AUTH * to routines that create rpc
49+
* "sessions".
50+
*/
51+
52+
#ifndef __AUTH_HEADER__
53+
#define __AUTH_HEADER__
54+
55+
#ifdef __cplusplus
56+
extern "C" {
57+
#define DOTS ...
58+
#else
59+
#define DOTS
60+
#endif
61+
62+
#define MAX_AUTH_BYTES 400
63+
#define MAXNETNAMELEN 255 /* maximum length of network user's name */
64+
65+
/*
66+
* Status returned from authentication check
67+
*/
68+
enum auth_stat {
69+
AUTH_OK=0,
70+
/*
71+
* failed at remote end
72+
*/
73+
AUTH_BADCRED=1, /* bogus credentials (seal broken) */
74+
AUTH_REJECTEDCRED=2, /* client should begin new session */
75+
AUTH_BADVERF=3, /* bogus verifier (seal broken) */
76+
AUTH_REJECTEDVERF=4, /* verifier expired or was replayed */
77+
AUTH_TOOWEAK=5, /* rejected due to security reasons */
78+
/*
79+
* failed locally
80+
*/
81+
AUTH_INVALIDRESP=6, /* bogus response verifier */
82+
AUTH_FAILED=7 /* some unknown reason */
83+
};
84+
85+
#if (mc68000 || sparc || vax || i386)
86+
typedef u_long u_int32; /* 32-bit unsigned integers */
87+
88+
union des_block {
89+
struct {
90+
u_int32 high;
91+
u_int32 low;
92+
} key;
93+
char c[8];
94+
};
95+
#else
96+
union des_block {
97+
struct {
98+
u_long high;
99+
u_long low;
100+
} key;
101+
char c[8];
102+
};
103+
#endif
104+
typedef union des_block des_block;
105+
extern bool_t xdr_des_block(DOTS);
106+
107+
/*
108+
* Authentication info. Opaque to client.
109+
*/
110+
struct opaque_auth {
111+
enum_t oa_flavor; /* flavor of auth */
112+
caddr_t oa_base; /* address of more auth stuff */
113+
u_int oa_length; /* not to exceed MAX_AUTH_BYTES */
114+
};
115+
116+
117+
/*
118+
* Auth handle, interface to client side authenticators.
119+
*/
120+
typedef struct {
121+
struct opaque_auth ah_cred;
122+
struct opaque_auth ah_verf;
123+
union des_block ah_key;
124+
struct auth_ops {
125+
void (*ah_nextverf)(DOTS);
126+
int (*ah_marshal)(DOTS); /* nextverf & serialize */
127+
int (*ah_validate)(DOTS); /* validate varifier */
128+
int (*ah_refresh)(DOTS); /* refresh credentials */
129+
void (*ah_destroy)(DOTS); /* destroy this structure */
130+
} *ah_ops;
131+
caddr_t ah_private;
132+
} AUTH;
133+
134+
135+
/*
136+
* Authentication ops.
137+
* The ops and the auth handle provide the interface to the authenticators.
138+
*
139+
* AUTH *auth;
140+
* XDR *xdrs;
141+
* struct opaque_auth verf;
142+
*/
143+
#define AUTH_NEXTVERF(auth) \
144+
((*((auth)->ah_ops->ah_nextverf))(auth))
145+
#define auth_nextverf(auth) \
146+
((*((auth)->ah_ops->ah_nextverf))(auth))
147+
148+
#define AUTH_MARSHALL(auth, xdrs) \
149+
((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
150+
#define auth_marshall(auth, xdrs) \
151+
((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
152+
153+
#define AUTH_VALIDATE(auth, verfp) \
154+
((*((auth)->ah_ops->ah_validate))((auth), verfp))
155+
#define auth_validate(auth, verfp) \
156+
((*((auth)->ah_ops->ah_validate))((auth), verfp))
157+
158+
#define AUTH_REFRESH(auth) \
159+
((*((auth)->ah_ops->ah_refresh))(auth))
160+
#define auth_refresh(auth) \
161+
((*((auth)->ah_ops->ah_refresh))(auth))
162+
163+
#define AUTH_DESTROY(auth) \
164+
((*((auth)->ah_ops->ah_destroy))(auth))
165+
#define auth_destroy(auth) \
166+
((*((auth)->ah_ops->ah_destroy))(auth))
167+
168+
#ifdef WIN32
169+
#ifdef ONCRPCDLL
170+
extern struct opaque_auth _null_auth;
171+
#else
172+
#ifdef __BORLANDC__
173+
extern __declspec(dllimport) struct opaque_auth _null_auth;
174+
#else
175+
_declspec(dllimport) struct opaque_auth _null_auth;
176+
#endif
177+
#endif
178+
#else
179+
extern struct opaque_auth _null_auth;
180+
#endif
181+
182+
183+
/*
184+
* These are the various implementations of client side authenticators.
185+
*/
186+
187+
/*
188+
* Unix style authentication
189+
* AUTH *authunix_create(machname, uid, gid, len, aup_gids)
190+
* char *machname;
191+
* int uid;
192+
* int gid;
193+
* int len;
194+
* int *aup_gids;
195+
*/
196+
extern AUTH *authunix_create(DOTS);
197+
extern AUTH *authunix_create_default(DOTS); /* takes no parameters */
198+
extern AUTH *authnone_create(DOTS); /* takes no parameters */
199+
extern AUTH *authdes_create(DOTS);
200+
201+
#define AUTH_NONE 0 /* no authentication */
202+
#define AUTH_NULL 0 /* backward compatibility */
203+
#define AUTH_UNIX 1 /* unix style (uid, gids) */
204+
#define AUTH_SHORT 2 /* short hand unix style */
205+
#define AUTH_DES 3 /* des style (encrypted timestamps) */
206+
207+
#ifdef __cplusplus
208+
};
209+
#endif
210+
211+
#endif /* __AUTH_HEADER__ */
212+

‎src/providers/grass/vc/rpc/auth_uni.h

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)auth_unix.h 2.2 88/07/29 4.0 RPCSRC; from 1.8 88/02/08 SMI */
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
/* @(#)auth_unix.h 1.5 86/07/16 SMI */
42+
43+
/*
44+
* auth_unix.h, Protocol for UNIX style authentication parameters for RPC
45+
*
46+
* Copyright (C) 1984, Sun Microsystems, Inc.
47+
*/
48+
49+
/*
50+
* The system is very weak. The client uses no encryption for it
51+
* credentials and only sends null verifiers. The server sends backs
52+
* null verifiers or optionally a verifier that suggests a new short hand
53+
* for the credentials.
54+
*/
55+
56+
#ifndef __AUTH_UNIX_HEADER__
57+
#define __AUTH_UNIX_HEADER__
58+
59+
/* The machine name is part of a credential; it may not exceed 255 bytes */
60+
#define MAX_MACHINE_NAME 255
61+
62+
/* gids compose part of a credential; there may not be more than 16 of them */
63+
#define NGRPS 16
64+
65+
/*
66+
* Unix style credentials.
67+
*/
68+
struct authunix_parms {
69+
u_long aup_time;
70+
char *aup_machname;
71+
int aup_uid;
72+
int aup_gid;
73+
u_int aup_len;
74+
int *aup_gids;
75+
};
76+
77+
extern bool_t xdr_authunix_parms();
78+
79+
/*
80+
* If a response verifier has flavor AUTH_SHORT,
81+
* then the body of the response verifier encapsulates the following structure;
82+
* again it is serialized in the obvious fashion.
83+
*/
84+
struct short_hand_verf {
85+
struct opaque_auth new_cred;
86+
};
87+
88+
#endif /* __AUTH_UNIX_HEADER__ */
89+
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)auth_unix.h 2.2 88/07/29 4.0 RPCSRC; from 1.8 88/02/08 SMI */
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
/* @(#)auth_unix.h 1.5 86/07/16 SMI */
42+
43+
/*
44+
* auth_unix.h, Protocol for UNIX style authentication parameters for RPC
45+
*
46+
* Copyright (C) 1984, Sun Microsystems, Inc.
47+
*/
48+
49+
/*
50+
* The system is very weak. The client uses no encryption for it
51+
* credentials and only sends null verifiers. The server sends backs
52+
* null verifiers or optionally a verifier that suggests a new short hand
53+
* for the credentials.
54+
*/
55+
56+
#ifndef __AUTH_UNIX_HEADER__
57+
#define __AUTH_UNIX_HEADER__
58+
59+
#ifdef __cplusplus
60+
extern "C" {
61+
#define DOTS ...
62+
#else
63+
#define DOTS
64+
#endif
65+
66+
/* The machine name is part of a credential; it may not exceed 255 bytes */
67+
#define MAX_MACHINE_NAME 255
68+
69+
/* gids compose part of a credential; there may not be more than 16 of them */
70+
#define NGRPS 16
71+
72+
/*
73+
* Unix style credentials.
74+
*/
75+
struct authunix_parms {
76+
u_long aup_time;
77+
char *aup_machname;
78+
int aup_uid;
79+
int aup_gid;
80+
u_int aup_len;
81+
int *aup_gids;
82+
};
83+
84+
extern bool_t xdr_authunix_parms(DOTS);
85+
86+
/*
87+
* If a response verifier has flavor AUTH_SHORT,
88+
* then the body of the response verifier encapsulates the following structure;
89+
* again it is serialized in the obvious fashion.
90+
*/
91+
struct short_hand_verf {
92+
struct opaque_auth new_cred;
93+
};
94+
95+
#ifdef __cplusplus
96+
};
97+
#endif
98+
99+
100+
#endif /* __AUTH_UNIX_HEADER__ */
101+

‎src/providers/grass/vc/rpc/bcopy.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
*
5+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
6+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
7+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
8+
*********************************************************************/
9+
10+
#ifdef __cplusplus
11+
extern "C" {
12+
#endif
13+
14+
void bcopy(char *,char*,int);
15+
void bcopy_nf(char *,char *,int);
16+
void bcopy_fn(char *,char *,int);
17+
void bcopy_ff(char *,char *,int);
18+
void bzero(char*,int);
19+
#ifdef __cplusplus
20+
};
21+
#endif
22+

‎src/providers/grass/vc/rpc/clnt.h

Lines changed: 364 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,364 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)clnt.h 2.1 88/07/29 4.0 RPCSRC; from 1.31 88/02/08 SMI*/
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
42+
/*
43+
* clnt.h - Client side remote procedure call interface.
44+
*
45+
* Copyright (C) 1984, Sun Microsystems, Inc.
46+
*/
47+
48+
#ifndef _CLNT_
49+
#define _CLNT_
50+
51+
#ifdef __cplusplus
52+
extern "C" {
53+
#define DOTS ...
54+
#else
55+
#define DOTS
56+
#endif
57+
58+
/*
59+
* Rpc calls return an enum clnt_stat. This should be looked at more,
60+
* since each implementation is required to live with this (implementation
61+
* independent) list of errors.
62+
*/
63+
enum clnt_stat {
64+
RPC_SUCCESS=0, /* call succeeded */
65+
/*
66+
* local errors
67+
*/
68+
RPC_CANTENCODEARGS=1, /* can't encode arguments */
69+
RPC_CANTDECODERES=2, /* can't decode results */
70+
RPC_CANTSEND=3, /* failure in sending call */
71+
RPC_CANTRECV=4, /* failure in receiving result */
72+
RPC_TIMEDOUT=5, /* call timed out */
73+
/*
74+
* remote errors
75+
*/
76+
RPC_VERSMISMATCH=6, /* rpc versions not compatible */
77+
RPC_AUTHERROR=7, /* authentication error */
78+
RPC_PROGUNAVAIL=8, /* program not available */
79+
RPC_PROGVERSMISMATCH=9, /* program version mismatched */
80+
RPC_PROCUNAVAIL=10, /* procedure unavailable */
81+
RPC_CANTDECODEARGS=11, /* decode arguments error */
82+
RPC_SYSTEMERROR=12, /* generic "other problem" */
83+
84+
/*
85+
* callrpc & clnt_create errors
86+
*/
87+
RPC_UNKNOWNHOST=13, /* unknown host name */
88+
RPC_UNKNOWNPROTO=17, /* unkown protocol */
89+
90+
/*
91+
* _ create errors
92+
*/
93+
RPC_PMAPFAILURE=14, /* the pmapper failed in its call */
94+
RPC_PROGNOTREGISTERED=15, /* remote program is not registered */
95+
/*
96+
* unspecified error
97+
*/
98+
RPC_FAILED=16
99+
};
100+
101+
102+
/*
103+
* Error info.
104+
*/
105+
struct rpc_err {
106+
enum clnt_stat re_status;
107+
union {
108+
int RE_errno; /* realated system error */
109+
enum auth_stat RE_why; /* why the auth error occurred */
110+
struct {
111+
u_long low; /* lowest verion supported */
112+
u_long high; /* highest verion supported */
113+
} RE_vers;
114+
struct { /* maybe meaningful if RPC_FAILED */
115+
long s1;
116+
long s2;
117+
} RE_lb; /* life boot & debugging only */
118+
} ru;
119+
#define re_errno ru.RE_errno
120+
#define re_why ru.RE_why
121+
#define re_vers ru.RE_vers
122+
#define re_lb ru.RE_lb
123+
};
124+
125+
126+
/*
127+
* Client rpc handle.
128+
* Created by individual implementations, see e.g. rpc_udp.c.
129+
* Client is responsible for initializing auth, see e.g. auth_none.c.
130+
*/
131+
typedef struct {
132+
AUTH *cl_auth; /* authenticator */
133+
struct clnt_ops {
134+
enum clnt_stat (*cl_call)(DOTS); /* call remote procedure */
135+
void (*cl_abort)(DOTS); /* abort a call */
136+
void (*cl_geterr)(DOTS); /* get specific error code */
137+
bool_t (*cl_freeres)(DOTS); /* frees results */
138+
void (*cl_destroy)(DOTS);/* destroy this structure */
139+
bool_t (*cl_control)(DOTS);/* the ioctl() of rpc */
140+
} *cl_ops;
141+
caddr_t cl_private; /* private stuff */
142+
} CLIENT;
143+
144+
145+
/*
146+
* client side rpc interface ops
147+
*
148+
* Parameter types are:
149+
*
150+
*/
151+
152+
/*
153+
* enum clnt_stat
154+
* CLNT_CALL(rh, proc, xargs, argsp, xres, resp, timeout)
155+
* CLIENT *rh;
156+
* u_long proc;
157+
* xdrproc_t xargs;
158+
* caddr_t argsp;
159+
* xdrproc_t xres;
160+
* caddr_t resp;
161+
* struct timeval timeout;
162+
*/
163+
#define CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs) \
164+
((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs))
165+
#define clnt_call(rh, proc, xargs, argsp, xres, resp, secs) \
166+
((*(rh)->cl_ops->cl_call)(rh, proc, xargs, argsp, xres, resp, secs))
167+
168+
/*
169+
* void
170+
* CLNT_ABORT(rh);
171+
* CLIENT *rh;
172+
*/
173+
#define CLNT_ABORT(rh) ((*(rh)->cl_ops->cl_abort)(rh))
174+
#define clnt_abort(rh) ((*(rh)->cl_ops->cl_abort)(rh))
175+
176+
/*
177+
* struct rpc_err
178+
* CLNT_GETERR(rh);
179+
* CLIENT *rh;
180+
*/
181+
#define CLNT_GETERR(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp))
182+
#define clnt_geterr(rh,errp) ((*(rh)->cl_ops->cl_geterr)(rh, errp))
183+
184+
185+
/*
186+
* bool_t
187+
* CLNT_FREERES(rh, xres, resp);
188+
* CLIENT *rh;
189+
* xdrproc_t xres;
190+
* caddr_t resp;
191+
*/
192+
#define CLNT_FREERES(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
193+
#define clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
194+
195+
/*
196+
* bool_t
197+
* CLNT_CONTROL(cl, request, info)
198+
* CLIENT *cl;
199+
* u_int request;
200+
* char *info;
201+
*/
202+
#define CLNT_CONTROL(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in))
203+
#define clnt_control(cl,rq,in) ((*(cl)->cl_ops->cl_control)(cl,rq,in))
204+
205+
/*
206+
* control operations that apply to both udp and tcp transports
207+
*/
208+
#define CLSET_TIMEOUT 1 /* set timeout (timeval) */
209+
#define CLGET_TIMEOUT 2 /* get timeout (timeval) */
210+
#define CLGET_SERVER_ADDR 3 /* get server's address (sockaddr) */
211+
/*
212+
* udp only control operations
213+
*/
214+
#define CLSET_RETRY_TIMEOUT 4 /* set retry timeout (timeval) */
215+
#define CLGET_RETRY_TIMEOUT 5 /* get retry timeout (timeval) */
216+
217+
/*
218+
* void
219+
* CLNT_DESTROY(rh);
220+
* CLIENT *rh;
221+
*/
222+
#define CLNT_DESTROY(rh) ((*(rh)->cl_ops->cl_destroy)(rh))
223+
#define clnt_destroy(rh) ((*(rh)->cl_ops->cl_destroy)(rh))
224+
225+
226+
/*
227+
* RPCTEST is a test program which is accessable on every rpc
228+
* transport/port. It is used for testing, performance evaluation,
229+
* and network administration.
230+
*/
231+
232+
#define RPCTEST_PROGRAM ((u_long)1)
233+
#define RPCTEST_VERSION ((u_long)1)
234+
#define RPCTEST_NULL_PROC ((u_long)2)
235+
#define RPCTEST_NULL_BATCH_PROC ((u_long)3)
236+
237+
/*
238+
* By convention, procedure 0 takes null arguments and returns them
239+
*/
240+
241+
#define NULLPROC ((u_long)0)
242+
243+
/*
244+
* Below are the client handle creation routines for the various
245+
* implementations of client side rpc. They can return NULL if a
246+
* creation failure occurs.
247+
*/
248+
249+
/*
250+
* Memory based rpc (for speed check and testing)
251+
* CLIENT *
252+
* clntraw_create(prog, vers)
253+
* u_long prog;
254+
* u_long vers;
255+
*/
256+
extern CLIENT *clntraw_create(DOTS);
257+
258+
259+
/*
260+
* Generic client creation routine. Supported protocols are "udp" and "tcp"
261+
*/
262+
extern CLIENT *
263+
clnt_create(/*host, prog, vers, prot*/DOTS); /*
264+
char *host; -- hostname
265+
u_long prog; -- program number
266+
u_long vers; -- version number
267+
char *prot; -- protocol
268+
*/
269+
270+
271+
272+
273+
/*
274+
* TCP based rpc
275+
* CLIENT *
276+
* clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
277+
* struct sockaddr_in *raddr;
278+
* u_long prog;
279+
* u_long version;
280+
* register int *sockp;
281+
* u_int sendsz;
282+
* u_int recvsz;
283+
*/
284+
extern CLIENT *clnttcp_create(DOTS);
285+
286+
/*
287+
* UDP based rpc.
288+
* CLIENT *
289+
* clntudp_create(raddr, program, version, wait, sockp)
290+
* struct sockaddr_in *raddr;
291+
* u_long program;
292+
* u_long version;
293+
* struct timeval wait;
294+
* int *sockp;
295+
*
296+
* Same as above, but you specify max packet sizes.
297+
* CLIENT *
298+
* clntudp_bufcreate(raddr, program, version, wait, sockp, sendsz, recvsz)
299+
* struct sockaddr_in *raddr;
300+
* u_long program;
301+
* u_long version;
302+
* struct timeval wait;
303+
* int *sockp;
304+
* u_int sendsz;
305+
* u_int recvsz;
306+
*/
307+
extern CLIENT *clntudp_create(DOTS);
308+
extern CLIENT *clntudp_bufcreate(DOTS);
309+
310+
/*
311+
* Print why creation failed
312+
*/
313+
void clnt_pcreateerror(/* char *msg */DOTS); /* stderr */
314+
char *clnt_spcreateerror(/* char *msg */DOTS); /* string */
315+
316+
/*
317+
* Like clnt_perror(), but is more verbose in its output
318+
*/
319+
void clnt_perrno(/* enum clnt_stat num */DOTS); /* stderr */
320+
321+
/*
322+
* Print an English error message, given the client error code
323+
*/
324+
void clnt_perror(/* CLIENT *clnt, char *msg */DOTS); /* stderr */
325+
char *clnt_sperror(/* CLIENT *clnt, char *msg */DOTS); /* string */
326+
327+
/*
328+
* If a creation fails, the following allows the user to figure out why.
329+
*/
330+
struct rpc_createerr {
331+
enum clnt_stat cf_stat;
332+
struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */
333+
};
334+
335+
#ifdef WIN32
336+
#ifdef ONCRPCDLL
337+
extern struct rpc_createerr rpc_createerr;
338+
#else
339+
#ifdef __BORLANDC__
340+
extern __declspec(dllimport) struct rpc_createerr rpc_createerr;
341+
#else
342+
_declspec(dllimport) struct rpc_createerr rpc_createerr;
343+
#endif
344+
#endif
345+
#else
346+
extern struct rpc_createerr rpc_createerr;
347+
#endif
348+
349+
350+
/*
351+
* Copy error message to buffer.
352+
*/
353+
char *clnt_sperrno(/* enum clnt_stat num */DOTS); /* string */
354+
355+
356+
357+
#define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */
358+
#define RPCSMALLMSGSIZE 400 /* a more reasonable packet size */
359+
360+
#ifdef __cplusplus
361+
};
362+
#endif
363+
364+
#endif /*!_CLNT_*/

‎src/providers/grass/vc/rpc/index.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<html><head><title>Revision 43388: /trunk/src/extra/xdr/rpc</title></head>
2+
<body>
3+
<h2>Revision 43388: /trunk/src/extra/xdr/rpc</h2>
4+
<ul>
5+
<li><a href="../">..</a></li>
6+
<li><a href="types.h">types.h</a></li>
7+
<li><a href="xdr.h">xdr.h</a></li>
8+
</ul>
9+
<hr noshade><em>Powered by <a href="http://subversion.tigris.org/">Subversion</a> version 1.4.2 (r22196).</em>
10+
</body></html>

‎src/providers/grass/vc/rpc/netdb.h

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)netdb.h 2.1 88/07/29 3.9 RPCSRC */
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
/* @(#)rpc.h 1.8 87/07/24 SMI */
42+
43+
/* Really belongs in <netdb.h> */
44+
45+
struct rpcent {
46+
char *r_name; /* name of server for this rpc program */
47+
char **r_aliases; /* alias list */
48+
int r_number; /* rpc program number */
49+
};
50+
51+
struct rpcent *getrpcbyname(), *getrpcbynumber(), *getrpcent();

‎src/providers/grass/vc/rpc/rpc_msg.h

Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)rpc_msg.h 2.1 88/07/29 4.0 RPCSRC */
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
/* @(#)rpc_msg.h 1.7 86/07/16 SMI */
42+
43+
/*
44+
* rpc_msg.h
45+
* rpc message definition
46+
*
47+
* Copyright (C) 1984, Sun Microsystems, Inc.
48+
*/
49+
50+
#ifndef __RPC_MSG_HEADER__
51+
#define __RPC_MSG_HEADER__
52+
53+
#ifdef __cplusplus
54+
extern "C" {
55+
#define DOTS ...
56+
#else
57+
#define DOTS
58+
#endif
59+
60+
#define RPC_MSG_VERSION ((u_long) 2)
61+
#define RPC_SERVICE_PORT ((u_short) 2048)
62+
63+
/*
64+
* Bottom up definition of an rpc message.
65+
* NOTE: call and reply use the same overall stuct but
66+
* different parts of unions within it.
67+
*/
68+
69+
enum msg_type {
70+
CALL=0,
71+
REPLY=1
72+
};
73+
74+
enum reply_stat {
75+
MSG_ACCEPTED=0,
76+
MSG_DENIED=1
77+
};
78+
79+
enum accept_stat {
80+
SUCCESS=0,
81+
PROG_UNAVAIL=1,
82+
PROG_MISMATCH=2,
83+
PROC_UNAVAIL=3,
84+
GARBAGE_ARGS=4,
85+
SYSTEM_ERR=5
86+
};
87+
88+
enum reject_stat {
89+
RPC_MISMATCH=0,
90+
AUTH_ERROR=1
91+
};
92+
93+
/*
94+
* Reply part of an rpc exchange
95+
*/
96+
97+
/*
98+
* Reply to an rpc request that was accepted by the server.
99+
* Note: there could be an error even though the request was
100+
* accepted.
101+
*/
102+
struct accepted_reply {
103+
struct opaque_auth ar_verf;
104+
enum accept_stat ar_stat;
105+
union {
106+
struct {
107+
u_long low;
108+
u_long high;
109+
} AR_versions;
110+
struct {
111+
caddr_t where;
112+
xdrproc_t proc;
113+
} AR_results;
114+
/* and many other null cases */
115+
} ru;
116+
#define ar_results ru.AR_results
117+
#define ar_vers ru.AR_versions
118+
};
119+
120+
/*
121+
* Reply to an rpc request that was rejected by the server.
122+
*/
123+
struct rejected_reply {
124+
enum reject_stat rj_stat;
125+
union {
126+
struct {
127+
u_long low;
128+
u_long high;
129+
} RJ_versions;
130+
enum auth_stat RJ_why; /* why authentication did not work */
131+
} ru;
132+
#define rj_vers ru.RJ_versions
133+
#define rj_why ru.RJ_why
134+
};
135+
136+
/*
137+
* Body of a reply to an rpc request.
138+
*/
139+
struct reply_body {
140+
enum reply_stat rp_stat;
141+
union {
142+
struct accepted_reply RP_ar;
143+
struct rejected_reply RP_dr;
144+
} ru;
145+
#define rp_acpt ru.RP_ar
146+
#define rp_rjct ru.RP_dr
147+
};
148+
149+
/*
150+
* Body of an rpc request call.
151+
*/
152+
struct call_body {
153+
u_long cb_rpcvers; /* must be equal to two */
154+
u_long cb_prog;
155+
u_long cb_vers;
156+
u_long cb_proc;
157+
struct opaque_auth cb_cred;
158+
struct opaque_auth cb_verf; /* protocol specific - provided by client */
159+
};
160+
161+
/*
162+
* The rpc message
163+
*/
164+
struct rpc_msg {
165+
u_long rm_xid;
166+
enum msg_type rm_direction;
167+
union {
168+
struct call_body RM_cmb;
169+
struct reply_body RM_rmb;
170+
} ru;
171+
#define rm_call ru.RM_cmb
172+
#define rm_reply ru.RM_rmb
173+
};
174+
#define acpted_rply ru.RM_rmb.ru.RP_ar
175+
#define rjcted_rply ru.RM_rmb.ru.RP_dr
176+
177+
178+
/*
179+
* XDR routine to handle a rpc message.
180+
* xdr_callmsg(xdrs, cmsg)
181+
* XDR *xdrs;
182+
* struct rpc_msg *cmsg;
183+
*/
184+
extern bool_t xdr_callmsg(DOTS);
185+
186+
/*
187+
* XDR routine to pre-serialize the static part of a rpc message.
188+
* xdr_callhdr(xdrs, cmsg)
189+
* XDR *xdrs;
190+
* struct rpc_msg *cmsg;
191+
*/
192+
extern bool_t xdr_callhdr(DOTS);
193+
194+
/*
195+
* XDR routine to handle a rpc reply.
196+
* xdr_replymsg(xdrs, rmsg)
197+
* XDR *xdrs;
198+
* struct rpc_msg *rmsg;
199+
*/
200+
extern bool_t xdr_replymsg(DOTS);
201+
202+
/*
203+
* Fills in the error part of a reply message.
204+
* _seterr_reply(msg, error)
205+
* struct rpc_msg *msg;
206+
* struct rpc_err *error;
207+
*/
208+
extern void _seterr_reply(DOTS);
209+
210+
#ifdef __cplusplus
211+
};
212+
#endif
213+
214+
#endif /* __RPC_MSG_HEADER__ */
215+

‎src/providers/grass/vc/rpc/svc.h

Lines changed: 291 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)svc.h 2.2 88/07/29 4.0 RPCSRC; from 1.20 88/02/08 SMI */
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
42+
/*
43+
* svc.h, Server-side remote procedure call interface.
44+
*
45+
* Copyright (C) 1984, Sun Microsystems, Inc.
46+
*/
47+
48+
#ifndef __SVC_HEADER__
49+
#define __SVC_HEADER__
50+
51+
/*
52+
* This interface must manage two items concerning remote procedure calling:
53+
*
54+
* 1) An arbitrary number of transport connections upon which rpc requests
55+
* are received. The two most notable transports are TCP and UDP; they are
56+
* created and registered by routines in svc_tcp.c and svc_udp.c, respectively;
57+
* they in turn call xprt_register and xprt_unregister.
58+
*
59+
* 2) An arbitrary number of locally registered services. Services are
60+
* described by the following four data: program number, version number,
61+
* "service dispatch" function, a transport handle, and a boolean that
62+
* indicates whether or not the exported program should be registered with a
63+
* local binder service; if true the program's number and version and the
64+
* port number from the transport handle are registered with the binder.
65+
* These data are registered with the rpc svc system via svc_register.
66+
*
67+
* A service's dispatch function is called whenever an rpc request comes in
68+
* on a transport. The request's program and version numbers must match
69+
* those of the registered service. The dispatch function is passed two
70+
* parameters, struct svc_req * and SVCXPRT *, defined below.
71+
*/
72+
73+
enum xprt_stat {
74+
XPRT_DIED,
75+
XPRT_MOREREQS,
76+
XPRT_IDLE
77+
};
78+
79+
/*
80+
* Server side transport handle
81+
*/
82+
typedef struct {
83+
int xp_sock;
84+
u_short xp_port; /* associated port number */
85+
struct xp_ops {
86+
bool_t (*xp_recv)(); /* receive incomming requests */
87+
enum xprt_stat (*xp_stat)(); /* get transport status */
88+
bool_t (*xp_getargs)(); /* get arguments */
89+
bool_t (*xp_reply)(); /* send reply */
90+
bool_t (*xp_freeargs)();/* free mem allocated for args */
91+
void (*xp_destroy)(); /* destroy this struct */
92+
} *xp_ops;
93+
int xp_addrlen; /* length of remote address */
94+
struct sockaddr_in xp_raddr; /* remote address */
95+
struct opaque_auth xp_verf; /* raw response verifier */
96+
caddr_t xp_p1; /* private */
97+
caddr_t xp_p2; /* private */
98+
} SVCXPRT;
99+
100+
/*
101+
* Approved way of getting address of caller
102+
*/
103+
#define svc_getcaller(x) (&(x)->xp_raddr)
104+
105+
/*
106+
* Operations defined on an SVCXPRT handle
107+
*
108+
* SVCXPRT *xprt;
109+
* struct rpc_msg *msg;
110+
* xdrproc_t xargs;
111+
* caddr_t argsp;
112+
*/
113+
#define SVC_RECV(xprt, msg) \
114+
(*(xprt)->xp_ops->xp_recv)((xprt), (msg))
115+
#define svc_recv(xprt, msg) \
116+
(*(xprt)->xp_ops->xp_recv)((xprt), (msg))
117+
118+
#define SVC_STAT(xprt) \
119+
(*(xprt)->xp_ops->xp_stat)(xprt)
120+
#define svc_stat(xprt) \
121+
(*(xprt)->xp_ops->xp_stat)(xprt)
122+
123+
#define SVC_GETARGS(xprt, xargs, argsp) \
124+
(*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp))
125+
#define svc_getargs(xprt, xargs, argsp) \
126+
(*(xprt)->xp_ops->xp_getargs)((xprt), (xargs), (argsp))
127+
128+
#define SVC_REPLY(xprt, msg) \
129+
(*(xprt)->xp_ops->xp_reply) ((xprt), (msg))
130+
#define svc_reply(xprt, msg) \
131+
(*(xprt)->xp_ops->xp_reply) ((xprt), (msg))
132+
133+
#define SVC_FREEARGS(xprt, xargs, argsp) \
134+
(*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp))
135+
#define svc_freeargs(xprt, xargs, argsp) \
136+
(*(xprt)->xp_ops->xp_freeargs)((xprt), (xargs), (argsp))
137+
138+
#define SVC_DESTROY(xprt) \
139+
(*(xprt)->xp_ops->xp_destroy)(xprt)
140+
#define svc_destroy(xprt) \
141+
(*(xprt)->xp_ops->xp_destroy)(xprt)
142+
143+
144+
/*
145+
* Service request
146+
*/
147+
struct svc_req {
148+
u_long rq_prog; /* service program number */
149+
u_long rq_vers; /* service protocol version */
150+
u_long rq_proc; /* the desired procedure */
151+
struct opaque_auth rq_cred; /* raw creds from the wire */
152+
caddr_t rq_clntcred; /* read only cooked cred */
153+
SVCXPRT *rq_xprt; /* associated transport */
154+
};
155+
156+
157+
/*
158+
* Service registration
159+
*
160+
* svc_register(xprt, prog, vers, dispatch, protocol)
161+
* SVCXPRT *xprt;
162+
* u_long prog;
163+
* u_long vers;
164+
* void (*dispatch)();
165+
* int protocol; /* like TCP or UDP, zero means do not register
166+
*/
167+
extern bool_t svc_register();
168+
169+
/*
170+
* Service un-registration
171+
*
172+
* svc_unregister(prog, vers)
173+
* u_long prog;
174+
* u_long vers;
175+
*/
176+
extern void svc_unregister();
177+
178+
/*
179+
* Transport registration.
180+
*
181+
* xprt_register(xprt)
182+
* SVCXPRT *xprt;
183+
*/
184+
extern void xprt_register();
185+
186+
/*
187+
* Transport un-register
188+
*
189+
* xprt_unregister(xprt)
190+
* SVCXPRT *xprt;
191+
*/
192+
extern void xprt_unregister();
193+
194+
195+
196+
197+
/*
198+
* When the service routine is called, it must first check to see if it
199+
* knows about the procedure; if not, it should call svcerr_noproc
200+
* and return. If so, it should deserialize its arguments via
201+
* SVC_GETARGS (defined above). If the deserialization does not work,
202+
* svcerr_decode should be called followed by a return. Successful
203+
* decoding of the arguments should be followed the execution of the
204+
* procedure's code and a call to svc_sendreply.
205+
*
206+
* Also, if the service refuses to execute the procedure due to too-
207+
* weak authentication parameters, svcerr_weakauth should be called.
208+
* Note: do not confuse access-control failure with weak authentication!
209+
*
210+
* NB: In pure implementations of rpc, the caller always waits for a reply
211+
* msg. This message is sent when svc_sendreply is called.
212+
* Therefore pure service implementations should always call
213+
* svc_sendreply even if the function logically returns void; use
214+
* xdr.h - xdr_void for the xdr routine. HOWEVER, tcp based rpc allows
215+
* for the abuse of pure rpc via batched calling or pipelining. In the
216+
* case of a batched call, svc_sendreply should NOT be called since
217+
* this would send a return message, which is what batching tries to avoid.
218+
* It is the service/protocol writer's responsibility to know which calls are
219+
* batched and which are not. Warning: responding to batch calls may
220+
* deadlock the caller and server processes!
221+
*/
222+
223+
extern bool_t svc_sendreply();
224+
extern void svcerr_decode();
225+
extern void svcerr_weakauth();
226+
extern void svcerr_noproc();
227+
extern void svcerr_progvers();
228+
extern void svcerr_auth();
229+
extern void svcerr_noprog();
230+
extern void svcerr_systemerr();
231+
232+
/*
233+
* Lowest level dispatching -OR- who owns this process anyway.
234+
* Somebody has to wait for incoming requests and then call the correct
235+
* service routine. The routine svc_run does infinite waiting; i.e.,
236+
* svc_run never returns.
237+
* Since another (co-existant) package may wish to selectively wait for
238+
* incoming calls or other events outside of the rpc architecture, the
239+
* routine svc_getreq is provided. It must be passed readfds, the
240+
* "in-place" results of a select system call (see select, section 2).
241+
*/
242+
243+
/*
244+
* Global keeper of rpc service descriptors in use
245+
* dynamic; must be inspected before each call to select
246+
*/
247+
#ifdef FD_SETSIZE
248+
extern fd_set svc_fdset;
249+
#define svc_fds svc_fdset.fds_bits[0] /* compatibility */
250+
#else
251+
extern int svc_fds;
252+
#endif /* def FD_SETSIZE */
253+
254+
/*
255+
* a small program implemented by the svc_rpc implementation itself;
256+
* also see clnt.h for protocol numbers.
257+
*/
258+
extern void rpctest_service();
259+
260+
extern void svc_getreq();
261+
extern void svc_getreqset(); /* takes fdset instead of int */
262+
extern void svc_run(); /* never returns */
263+
264+
/*
265+
* Socket to use on svcxxx_create call to get default socket
266+
*/
267+
#define RPC_ANYSOCK -1
268+
269+
/*
270+
* These are the existing service side transport implementations
271+
*/
272+
273+
/*
274+
* Memory based rpc for testing and timing.
275+
*/
276+
extern SVCXPRT *svcraw_create();
277+
278+
/*
279+
* Udp based rpc.
280+
*/
281+
extern SVCXPRT *svcudp_create();
282+
extern SVCXPRT *svcudp_bufcreate();
283+
284+
/*
285+
* Tcp based rpc.
286+
*/
287+
extern SVCXPRT *svctcp_create();
288+
289+
290+
291+
#endif /* __SVC_HEADER__ */

‎src/providers/grass/vc/rpc/svc_auth.h

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/*********************************************************************
2+
* RPC for the Windows NT Operating System
3+
* 1993 by Martin F. Gergeleit
4+
* Users may use, copy or modify Sun RPC for the Windows NT Operating
5+
* System according to the Sun copyright below.
6+
*
7+
* RPC for the Windows NT Operating System COMES WITH ABSOLUTELY NO
8+
* WARRANTY, NOR WILL I BE LIABLE FOR ANY DAMAGES INCURRED FROM THE
9+
* USE OF. USE ENTIRELY AT YOUR OWN RISK!!!
10+
*********************************************************************/
11+
12+
/* @(#)svc_auth.h 2.1 88/07/29 4.0 RPCSRC */
13+
/*
14+
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
15+
* unrestricted use provided that this legend is included on all tape
16+
* media and as a part of the software program in whole or part. Users
17+
* may copy or modify Sun RPC without charge, but are not authorized
18+
* to license or distribute it to anyone else except as part of a product or
19+
* program developed by the user.
20+
*
21+
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
22+
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
24+
*
25+
* Sun RPC is provided with no support and without any obligation on the
26+
* part of Sun Microsystems, Inc. to assist in its use, correction,
27+
* modification or enhancement.
28+
*
29+
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
30+
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
31+
* OR ANY PART THEREOF.
32+
*
33+
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
34+
* or profits or other special, indirect and consequential damages, even if
35+
* Sun has been advised of the possibility of such damages.
36+
*
37+
* Sun Microsystems, Inc.
38+
* 2550 Garcia Avenue
39+
* Mountain View, California 94043
40+
*/
41+
/* @(#)svc_auth.h 1.6 86/07/16 SMI */
42+
43+
/*
44+
* svc_auth.h, Service side of rpc authentication.
45+
*
46+
* Copyright (C) 1984, Sun Microsystems, Inc.
47+
*/
48+
49+
50+
/*
51+
* Server side authenticator
52+
*/
53+
extern enum auth_stat _authenticate();

0 commit comments

Comments
 (0)
Please sign in to comment.