summaryrefslogtreecommitdiff
path: root/inc/IncludeLibrary_NTD_interface.h
blob: 971a15d9b422d60b1a107cd637e6920c65d7496e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
#ifndef INCLUDELIBRARY_NTD_INTERFACE_H
#define INCLUDELIBRARY_NTD_INTERFACE_H

#if defined(__hpux) || defined(HPUX)
# include <dl.h>
#endif

#if defined(WNT) && !defined(HAVE_NO_DLL)
# ifndef __NTD_API
#  if defined(__NTD_DLL)
#   define __NTD_API __declspec( dllexport )
#  else
#   define __NTD_API __declspec( dllimport )
#  endif
# endif
# ifndef __Engine_API
#  if defined(__Engine_DLL)
#   define __Engine_API __declspec( dllexport )
#  else
#   define __Engine_API __declspec( dllimport )
#  endif
# endif
#else
# define __NTD_API
# define __Engine_API
#endif

#ifndef __INCLUDELIBRARY_SERVER_INTERFACE_H
#include <IncludeLibrary_server_interface.h>
#endif

#define ind_init_ntd           0
#define ind_movc3              1
#define ind_movc5              2
#define ind_ntd_connect        3
#define ind_ntd_disconnect     4
#define ind_ntd_free           5
#define ind_ntd_gravity        6
#define ind_ntd_read           7
#define ind_ntd_reada          8
#define ind_ntd_select         9
#define ind_ntd_write         10
#define ind_osd_dclast        11
#define ind_osd_exitodeb      12
#define ind_osd_go            13
#define ind_osd_host_addr     14
#define ind_osd_setimer       15
#define ind_osd_stop          16
#define ind_osd_synch         17
#define ind_srvsts            18
#define ind_osd_host_addr_tcp 19
#define ind_ntd_iserdisc      20
#define ind_Get_Engine_Path   21
#define ind_Act_Sigio_Handler 22
#define ind_Load_Engine       23
#define ind_osd_nodename_tcp  24
#define ind_strsts            25
#define ind_osd_getmsg        26
#define ind_osd_wpipe         27
#define ind_Env_Engine        28
#define nbr_address           29

#ifdef UNX
#define sigdeb sigdeb_
#define srvbck srvbck_
#define srvctl srvctl_
#define srwlnk srwlnk_
#define srwloc srwloc_
#define srvsts srvsts_
#define osd_getpid osd_getpid_
#define osd_getuic osd_getuic_
#define osd_geteuic osd_geteuic_
#define osd_nodename_tcp  osd_nodename_tcp_
#define osd_host_addr osd_host_addr_
#define osd_host_addr_tcp osd_host_addr_tcp_
#define osd_host_addr_dec osd_host_addr_dec_
#define __fastcall
#endif

#ifdef WNT
#define BEGINTHREADEX( lpsa, cbStack, lpStartAddr, lpvThreadParm, fdwCreate, lpIDThread ) \
         (  ( HANDLE )_beginthreadex (                   \
                       ( void* )( lpsa ),                \
                       ( unsigned )( cbStack ),          \
                       ( PTHREAD_START )( lpStartAddr ), \
                       ( void* )( lpvThreadParm ),       \
                       ( unsigned )( fdwCreate ),        \
                       ( unsigned* )( lpIDThread )       \
                      )                                  \
         )

#define osd_chown () 1

#endif

#if defined(sun) || defined(SOLARIS)
extern "C" int risc_return_() ;
#endif

extern int __NTD_API K_VERBOSE_INIT ;

extern char __NTD_API level_engine[81] ;

#ifdef WNT
extern OSVERSIONINFO __NTD_API NTD_OSVer;
#endif

extern void __NTD_API Get_Vector(int **K_VERBOSE ,
                                 void (***vector_addr)() ,
                                 int *nbr_addr ) ;

#if defined(__GNUC__) || defined(LIN)
#define Get_Vector_signatura "Get_Vector__FPPiPPPFv_vPi"
#define Get_Vector_signature "Get_Vector__FPPiPPPFv_vPi"
#elif defined(__osf__) || defined(DECOSF1)
#define Get_Vector_signatura "Get_Vector"
#define Get_Vector_signature "Get_Vector__XPPiPPPXv_vPi"
#elif defined(__sun) || defined(SOLARIS)
#define Get_Vector_signatura "Get_Vector"
#define Get_Vector_signature "__0FKGet_VectorPPiPPPFv_vPi"
#elif defined(__sgi) || defined(IRIX)
#define Get_Vector_signatura "Get_Vector__GPPiPPPGv_vPi"
#define Get_Vector_signature "Get_Vector__FPPiPPPFv_vPi"
#elif defined(__hpux) || defined(HPUX)
#define Get_Vector_signatura "Get_Vector"
#define Get_Vector_signature "Get_Vector__FPPiPPPFv_vPi"
#elif defined(WNT)
#define Get_Vector_signatura "Get_Vector"
#define Get_Vector_signature "?Get_Vector@@YAXPAPAHPAPAP6AXXZPAH@Z"
#elif defined(_AIX) || defined(AIX)
#define Get_Vector_signatura "Get_Vector"
#define Get_Vector_signature ".Get_Vector__FPPiPPPFv_vPi"
#endif

#ifndef WNT
extern void __NTD_API Act_Sigio_Handler() ;
#endif
extern void __NTD_API Set_Engine_Path(char *path);

#if defined(__Engine_DLL)
extern char __Engine_API *Get_Engine_Path(void);
#else
extern char __NTD_API *Get_Engine_Path(void);
#endif

extern int __NTD_API Env_Engine(int *lnk ,
                                int k_do_exec,
                                int K_START,
                                char *Engine_Path_Name,
                                char **Engine_Path ,
                                char **Engine_Name ) ;

extern int __NTD_API Load_Engine(char *Engine_Path,
                                 char *Engine_Name,
                                 int KVERBOSEINIT ,
                                 int *nbr_ret_func ,
                                 PVOID_FUNCTION *TABRETFUNC ,
                                 int nbrptrfunc ,
                                 PVOID_FUNCTION *TABFUNC ,
                                 int nbrptr ,
                                 void **TABPTR ,
                                 int nbrval ,
                                 int *TABVAL );

extern int __NTD_API init_ntd(PSRV_CTL srvctl,
                              int k_synch,
                              int **uic,
                              char **usr,
                              int **pid,
                              int k_serpc);
#ifdef WNT
extern void __NTD_API done_ntd( void );
#endif
extern int __NTD_API ntd_listener(int k_synch ,
                                  char **server,
                                  PREAD_AST_MBX read_ast_mbx,
                                  PSTATUS sts,
                                  int *lnk);
extern int __NTD_API ntd_confirm(int id,
                                 int reply,
                                 PAST_ADDR_V ast,
                                 int param,
                                 PSTATUS sts);
extern int __NTD_API ntd_connect(int prtcl,
                                 char *node,
                                 char *server,
                                 int verbose,
                                 int k_synch,
                                 PAST_ADDR_PV astaddr,
                                 void *param,
                                 int *id,
                                 PSTATUS sts);
extern int __NTD_API ntd_disconnect(int id,
                                    int how,
                                    PAST_ADDR_PV astaddr,
                                    void *param,
                                    PSTATUS sts);
extern int __NTD_API ntd_resume(int *id,
                                int k_free,
                                PSTATUS sts);
extern int __NTD_API ntd_chown(int id,
                               int pid,
                               PSTATUS sts);
extern int __NTD_API ntd_synch(int CHAN,
                               PSTATUS status_synch);
extern int __NTD_API ntd_stop(int CHAN);
extern int __NTD_API ntd_read(int CHAN,
                              int *BUFFER,
                              int LEN,
                              PAST_ADDR_PV rpc_intr_read_ast,
                              void *,
                              int *READLEN,
                              PSTATUS rpc_status);
extern int __NTD_API ntd_reada(int CHAN,
                               int *BUFFER,
                               int LEN,
                               PAST_ADDR_PV rpc_intr_read_ast,
                               void *,
                               int *READLEN,
                               PSTATUS rpc_status);
extern int __NTD_API ntd_iserdisc(PSTATUS status);
extern int __NTD_API ntd_dassign(int CHAN,
                                 PSTATUS status);
extern int __NTD_API ntd_free(int *CHAN,
                              PSTATUS status);
extern int __NTD_API ntd_write(int CHAN,
                               int *BUFFER,
                               int LEN,
                               PAST_ADDR_PV rpc_write_ast,
                               void *,
                               int *LLEN,
                               PSTATUS rpc_statusa);
extern int __NTD_API ntd_select(int CHAN) ;
extern int __NTD_API do_lstr_a_synch(int k_synch) ;
extern int __NTD_API do_socket_a_synch(int sock_desc,int k_synch) ;
extern int __NTD_API ntd_go(int CHAN,
                            PSTATUS rpc_status);
extern int __NTD_API ntd_gravity(PSTATUS sts);
extern int __NTD_API ntd_message(void *numlnk,
                                 PSTATUS sts,
                                 char *msg,
                                 int lmax,
                                 int *lmsg);
#ifdef WNT
extern BOOL __NTD_API __fastcall ntd_ispipe ( int id ) ;
extern SOCKET __NTD_API ntd_sd ( int* id ) ;
#endif
extern int __NTD_API osd_dclast(PAST_ADDR_PV rpc_write_ast,
                                void *,
                                PSTATUS rpc_status);
extern int __NTD_API osd_dclastw(PAST_ADDR_PV rpc_write_ast,
                                 void *,
                                 PSTATUS rpc_statusa);
extern int __NTD_API osd_setimer(unsigned int delay,
                                 PAST_ADDR_PV timer_ast,
                                 void *,
                                 PSTATUS sts);
extern char __NTD_API *osd_getsymbol(char *) ;
#ifdef WNT
extern const char __NTD_API *osd_getmsg ( int );
#endif
extern void __NTD_API osd_hiber();
extern char __NTD_API *osd_getuname();
extern void __NTD_API osd_exitodeb();
extern void __NTD_API osd_child(char *);
extern void __NTD_API osd_wpipe() ;
extern int __NTD_API osd_nodename_dec(char *nodloc,
                                       int len,
                                       PSTATUS rpc_status);
extern int __NTD_API osd_nodename_tcp(char *nodloc,
                                       int len,
                                       PSTATUS rpc_status);
extern int __NTD_API osd_host_addr_tcp(char *node,
                                       unsigned char intadr[],
                                       PSTATUS sts);
extern int __NTD_API osd_host_addr( char intadr[] ) ;
extern int __NTD_API osd_getuic(int *retuic,
                                PSTATUS sts);
extern int __NTD_API osd_getpid();
extern int __NTD_API osd_geteuic(int *reteuic);
extern int __NTD_API osd_setuic(int *setuic);
extern int __NTD_API osd_usruic(char *usrnam,
                                int  retuic[],
                                PSTATUS status,
                                int lenusr);

#ifdef UNX
extern void osd_sigclrmask();
#endif

#if defined(UNX) || defined(WNT)
extern int __NTD_API osd_initsynch(PSTATUS sts);
extern void __NTD_API osd_go(PSYSSYNCH );
extern void __NTD_API osd_stop(PSYSSYNCH );
extern int __NTD_API osd_testsynch(PSYSSYNCH );
extern int __NTD_API osd_synch(PSYSSYNCH ,
                               PSTATUS );
extern void __NTD_API osd_disblast();
extern void __NTD_API osd_enblast();
#endif

extern void __NTD_API __fastcall rspreorder(PBUF_RSP buffer);
extern void __NTD_API __fastcall lreorder(unsigned int *hdr);
extern void __NTD_API __fastcall cmdreorder(PBUF BUFFER);
extern void __NTD_API __fastcall cnxassreorder(PCMD_BUFF BUFFER);
extern void __NTD_API __fastcall reorder(int l , char *p);
extern void __NTD_API __fastcall movc3(int srclen,
                                       char *srcadr,
                                       char *dstadr);
extern void __NTD_API __fastcall movc5(int srclen,
                                       char *srcadr,
                                       char fill,
                                       int dstlen,
                                       char *dstadr);
extern int __NTD_API srvsts(void *,
                            char *,
                            int,
                            PSTATUS sts,
                            int lg,
                            char *msg,
                            int *lgmsg);
extern int __NTD_API osd_realpath(char *path,
                                  char *resolved_path,
                                  int pathlen,
                                  PSTATUS sts);
extern int __NTD_API strsts(void *numlnk,
                            char code[],
                            char stat,
                            PSTATUS status,
                            int lgmsg,
                            char msgerr[],
                            int *lenerr);
extern void __NTD_API osd_putoutput(char *msg);
#ifdef UNX
extern int osd_sigaction(int sig ,
                         struct sigaction *act ,
                         struct sigaction *oact ) ;
#endif
extern int __NTD_API srvctl_ast(void *param,
                                PSTATUS status,
                                int *msg,
                                int *msglen);

#ifndef UNX
extern int Dnet_listener(char *server,
                         int isrv,
                         PREAD_AST_MBX func,
                         PSTATUS sts);
#endif
extern int __NTD_API Inet_listener(char *server,
                                   int isrv,
                                   int k_synch ,
                                   PREAD_AST_MBX func,
                                   PSTATUS sts);
#if !defined(__hpux) && !defined(HPUX) && !defined(__osf__) && !defined(DECOSF1) && !defined(WNT) && !defined(LIN) && !defined(linux) && !defined(AIX) && !defined(_AIX) && !defined(__FreeBSD__)
extern
#ifdef CSF1
       "C" {
#endif
            int  gethostname(char *, int) ;
#ifdef CSF1
	                                   }
#endif
#endif

#if DEBUG
extern void __NTD_API sigdeb() ;
extern void __NTD_API SIGDEB() ;
#endif

#ifdef WNT
extern void __NTD_API _debug_break ( char* );
#endif

#if DO_MALLOC
extern "C" {void __NTD_API *realloc(void *ptr_free , size_t byte_size);}
extern "C" {void __NTD_API *calloc(size_t nbr_elts,size_t byte_size);}
extern "C" {void __NTD_API *malloc(size_t byte_size);}
extern "C" {void __NTD_API free(void *pointer);}
#endif

#endif