SURFEX v8.1
General documentation of Surfex
lfi_verb.c
Go to the documentation of this file.
1 /**** *lfi_verb.c* - Definition of LFI message functions
2  *
3  * Author.
4  * -------
5  * Philippe Marguinaud *METEO-FRANCE*
6  * Original : 12-08-2013
7  *
8  */
9 
10 
11 #include <stdarg.h>
12 #include <stdlib.h>
13 #include <string.h>
14 #include <stdio.h>
15 
16 #include "lfi_type.h"
17 #include "lfi_fort.h"
18 #include "lfi_abor.h"
19 #include "lfi_verb.h"
20 #include "lfi_hndl.h"
21 
22 
23 /* LFI error messages (from lfieng.F90);
24  * the rank of each message is -KREP
25  */
26 
27 static const char * mess[] =
28 {
29  NULL,
30  "LOGICAL UNIT CURRENTLY NOT OPENED FOR THE SOFTWARE",
31  "\"LEVEL\" VALUE OUTSIDE [0-2] RANGE",
32  "BAD LOCK OPTION",
33  "EXPLICIT CHANGE FOR MULTI-TASKING MODE",
34  "LOGICAL UNIT IS CURRENTLY OPENED",
35  "NOT ENOUGH SPACE WITHIN TABLES TO OPEN REQUESTED UNIT",
36  "INVALID \"STATUS\" FOR FORTRAN INSTRUCTION \"OPEN\"",
37  "INCOMPATIBLE VALUES GIVEN FOR \"LDNOMM\" AND \"CDSTTO\"",
38  "INCOMPATIBILITY BETWEEN \"STATUS\" 'NEW' OR 'OLD' AND FILE EXISTENCE OR NON-EXISTENCE",
39  "THE FILE IS NOT A LFI ONE, OR MAY NOT BE TREATED THROUGH THIS CONFIGURATION OR VERSION OF THE SOFTWARE",
40  "FILE NOT CLOSED AFTER A MODIFICATION",
41  "FILE HAS A \"STATUS\" 'OLD' BUT AN ERROR OCCURRED WHEN READING THE FIRST PHYSICAL RECORD OF FILE",
42  "FILE IS ALREADY OPEN FOR ANOTHER LFI LOGICAL UNIT",
43  "INCORRECT VALUE FOR INTEGER ARGUMENT",
44  "INCORRECT CHARACTER ARGUMENT",
45  "INCOHERENCE IN TABLES, FILE, INTERNAL CALLS, SOFTWARE",
46  "TOO MANY LOGICAL RECORDS TO STORE AN EXTRA ONE",
47  "A LOGICAL RECORD NAME FORMED ONLY WITH SPACES IS INVALID",
48  "FILE OPENED WITH \"STATUS\" SET TO 'SCRATCH', SO MAY NOT BE KEPT AT CLOSE TIME",
49  "NO LOGICAL RECORD WITH SUCH NAME FOUND WITHIN LOGICAL UNIT",
50  "REQUESTED LOGICAL RECORD IS LONGER (HAS MORE DATA) IN FILE",
51  "REQUESTED LOGICAL RECORD SHORTER (HAS LESS DATA) IN FILE",
52  "NO OR NO MORE \"NEXT\" RECORD TO READ",
53  "THE CHARACTER VARIABLE GIVEN AS ACTUAL OUTPUT ARGUMENT IS TOO SHORt TO STORE THE RECORD NAME",
54  "THE NEW NAME OF THE LOGICAL RECORD IS (ALREADY) USED FOR ANOTHER LOGICAL RECORD WITHIN THE FILE",
55  "NO OR NO MORE \"PREVIOUS\" LOGICAL RECORD TO READ",
56  "INSUFFICIENT CONTIGUOUS SPACE WITHIN TABLES TO TREAT THE \"multiple\" FILE REQUESTED",
57  "MULTIPLY FACTOR (OF ELEMENTARY PHYSICAL RECORD LENGTH) TOO BIG FOR THE CURRENT CONFIGURATION OF THE SOFTWARE",
58  "NOT ENOUGH SPACE WITHIN TABLES TO STORE THE MULTIPLY FACTOR TO BE ASSOCIATED TO LOGICAL UNIT",
59  "LOGICAL UNIT NUMBER INVALID FOR FORTRAN",
60  "LOGICAL UNIT HAS NO MULTIPLY FACTOR PREDEFINED",
61 };
62 
63 extern void lfi_mess_ (const integer64 *, character *, character_len);
64 
65 static integer64 iulout (lfi_hndl_t * lfi)
66 {
67  integer64 INIVAU, IULOUT = -1;
68  if (lfi != NULL)
69  lfi->cb->lfiomg (lfi->data, &INIVAU, &IULOUT);
70  return IULOUT;
71 }
72 
73 
74 /* Variadic function to print LFI arguments */
75 
76 void lfi_verb (lfi_hndl_t * lfi, const char * func, ...)
77 {
78  typedef union
79  {
80  integer64 * K;
81  logical * L;
82  character * C;
83  real64 * P;
84  }
85  argv_t;
86  typedef const char * argn_t;
87 
88  int narg = 0;
89  argn_t argn;
90  argv_t argv;
91  character_len len;
92  character_len CLMESS_len = 1024;
93  character CLMESS[CLMESS_len];
94  character * buf = CLMESS;
95 #define buf_len (CLMESS_len - (buf - CLMESS))
96  integer64 IUNIT = iulout (lfi);
97 
98  va_list ap;
99 
100  va_start (ap, func);
101 
102  while (1)
103  {
104  argn = va_arg (ap, argn_t);
105  if (argn == NULL)
106  break;
107  argv = va_arg (ap, argv_t);
108 
109  if (narg == 0)
110  {
111  if (strcmp (argn, "KREP") == 0)
112  if (*argv.K != 0)
113  {
114  buf += snprintf (buf, buf_len, " */*/* %s - KREP=%lld", func, *argv.K);
115  if (*argv.K < 0)
116  {
117  int im = - *argv.K;
118  if ((0 < im) && (im < sizeof (mess)))
119  if (mess[im] != NULL)
120  buf += snprintf (buf, buf_len, ", %s", mess[im]);
121  }
122  goto end;
123  }
124  buf += snprintf (buf, buf_len, " ///// %s - ", func);
125  }
126 
127  if (narg > 0)
128  buf += snprintf (buf, buf_len, ", ");
129 
130  buf += snprintf (buf, buf_len, "%s=", argn);
131 
132  switch (argn[0])
133  {
134  case 'C':
135  len = va_arg (ap, character_len);
136  for (; (len > 0) && (argv.C[len-1] == ' '); len--);
137  buf += snprintf (buf, buf_len, "'%*.*s'", (int)len, (int)len, argv.C);
138  break;
139  case 'L':
140  buf += snprintf (buf, buf_len, "%c", istrue (*argv.L) ? 'T' : 'F');
141  break;
142  case 'P':
143  buf += snprintf (buf, buf_len, "%f", *argv.P);
144  break;
145  case 'K':
146  buf += snprintf (buf, buf_len, "%lld", *argv.K);
147  break;
148  default:
149  lfi_abor ("Unknown argument type : %s", argn);
150  break;
151  }
152  narg++;
153 
154  if (buf_len <= 0)
155  break;
156 
157  }
158 
159 end:
160 
161  if (IUNIT >= 0)
162  {
163  lfi_mess_ (&IUNIT, CLMESS, CLMESS_len - buf_len);
164  }
165  else
166  {
167  fwrite (CLMESS, CLMESS_len - buf_len, 1, stderr);
168  fprintf (stderr, "\n");
169  }
170 
171  va_end (ap);
172 }
173 
174 
175 
176 static void lfiouv_verb (int st, struct lfi_hndl_t * lfi, LFIOUV_ARGS_DECL)
177 {
178  if (st)
179  lfi_verb (lfi, "LFIOUV", "KREP", KREP, "KNUMER", KNUMER, "KNBARI", KNBARI, NULL);
180  else
181  lfi_verb (lfi, "LFIOUV", "KNUMER", KNUMER, "LDNOMM", LDNOMM, "CDNOMF", CDNOMF, CDNOMF_len, "CDSTTO", CDSTTO, CDSTTO_len, "LDERFA", LDERFA, "LDIMST", LDIMST, "KNIMES", KNIMES, "KNBARP", KNBARP, NULL);
182 }
183 
184 
185 static void lficas_verb (int st, struct lfi_hndl_t * lfi, LFICAS_ARGS_DECL)
186 {
187  if (st)
188  lfi_verb (lfi, "LFICAS", "KREP", KREP, "CDNOMA", CDNOMA, CDNOMA_len, "KLONG", KLONG, "KPOSEX", KPOSEX, NULL);
189  else
190  lfi_verb (lfi, "LFICAS", "KNUMER", KNUMER, "LDAVAN", LDAVAN, NULL);
191 }
192 
193 
194 static void lfiecr_verb (int st, struct lfi_hndl_t * lfi, LFIECR_ARGS_DECL)
195 {
196  if (st)
197  lfi_verb (lfi, "LFIECR", "KREP", KREP, NULL);
198  else
199  lfi_verb (lfi, "LFIECR", "KNUMER", KNUMER, "CDNOMA", CDNOMA, CDNOMA_len, "KLONG", KLONG, NULL);
200 }
201 
202 
203 static void lfifer_verb (int st, struct lfi_hndl_t * lfi, LFIFER_ARGS_DECL)
204 {
205  if (st)
206  lfi_verb (lfi, "LFIFER", "KREP", KREP, NULL);
207  else
208  lfi_verb (lfi, "LFIFER", "KNUMER", KNUMER, "CDSTTC", CDSTTC, CDSTTC_len, NULL);
209 }
210 
211 
212 static void lfilec_verb (int st, struct lfi_hndl_t * lfi, LFILEC_ARGS_DECL)
213 {
214  if (st)
215  lfi_verb (lfi, "LFILEC", "KREP", KREP, NULL);
216  else
217  lfi_verb (lfi, "LFILEC", "KNUMER", KNUMER, "CDNOMA", CDNOMA, CDNOMA_len, "KLONG", KLONG, NULL);
218 }
219 
220 
221 static void lfinfo_verb (int st, struct lfi_hndl_t * lfi, LFINFO_ARGS_DECL)
222 {
223  if (st)
224  lfi_verb (lfi, "LFINFO", "KREP", KREP, "KLONG", KLONG, "KPOSEX", KPOSEX, NULL);
225  else
226  lfi_verb (lfi, "LFINFO", "KNUMER", KNUMER, "CDNOMA", CDNOMA, CDNOMA_len, NULL);
227 }
228 
229 
230 static void lfipos_verb (int st, struct lfi_hndl_t * lfi, LFIPOS_ARGS_DECL)
231 {
232  if (st)
233  lfi_verb (lfi, "LFIPOS", "KREP", KREP, NULL);
234  else
235  lfi_verb (lfi, "LFIPOS", "KNUMER", KNUMER, NULL);
236 }
237 
238 
239 static void lfiver_verb (int st, struct lfi_hndl_t * lfi, LFIVER_ARGS_DECL)
240 {
241  if (st)
242  lfi_verb (lfi, "LFIVER", NULL);
243  else
244  lfi_verb (lfi, "LFIVER", "PVEROU", PVEROU, "CDSENS", CDSENS, CDSENS_len, NULL);
245 }
246 
247 
248 static void lfiofm_verb (int st, struct lfi_hndl_t * lfi, LFIOFM_ARGS_DECL)
249 {
250  if (st)
251  lfi_verb (lfi, "LFIOFM", "KREP", KREP, "KFACTM", KFACTM, "LDOUVR", LDOUVR, NULL);
252  else
253  lfi_verb (lfi, "LFIOFM", "KNUMER", KNUMER, NULL);
254 }
255 
256 
257 static void lfineg_verb (int st, struct lfi_hndl_t * lfi, LFINEG_ARGS_DECL)
258 {
259  if (st)
260  lfi_verb (lfi, "LFINEG", NULL);
261  else
262  lfi_verb (lfi, "LFINEG", "KNIVAU", KNIVAU, NULL);
263 }
264 
265 
266 static void lfilaf_verb (int st, struct lfi_hndl_t * lfi, LFILAF_ARGS_DECL)
267 {
268  if (st)
269  lfi_verb (lfi, "LFILAF", "KREP", KREP, NULL);
270  else
271  lfi_verb (lfi, "LFILAF", "KNUMER", KNUMER, "LDTOUT", LDTOUT, NULL);
272 }
273 
274 
275 static void lfiosg_verb (int st, struct lfi_hndl_t * lfi, LFIOSG_ARGS_DECL)
276 {
277  if (st)
278  lfi_verb (lfi, "LFIOSG", "KNIVAU", KNIVAU, NULL);
279  else
280  lfi_verb (lfi, "LFIOSG", NULL);
281 }
282 
283 
284 static void lfinum_verb (int st, struct lfi_hndl_t * lfi, LFINUM_ARGS_DECL)
285 {
286  if (st)
287  lfi_verb (lfi, "LFINUM", "KRANG", KRANG, NULL);
288  else
289  lfi_verb (lfi, "LFINUM", "KNUMER", KNUMER, NULL);
290 }
291 
292 
293 static void lfisup_verb (int st, struct lfi_hndl_t * lfi, LFISUP_ARGS_DECL)
294 {
295  if (st)
296  lfi_verb (lfi, "LFISUP", "KREP", KREP, "KLONUT", KLONUT, NULL);
297  else
298  lfi_verb (lfi, "LFISUP", "KNUMER", KNUMER, "CDNOMA", CDNOMA, CDNOMA_len, NULL);
299 }
300 
301 
302 static void lfiopt_verb (int st, struct lfi_hndl_t * lfi, LFIOPT_ARGS_DECL)
303 {
304  if (st)
305  lfi_verb (lfi, "LFIOPT", "KREP", KREP, "LDNOMM", LDNOMM, "CDNOMF", CDNOMF, CDNOMF_len, "CDSTTO", CDSTTO, CDSTTO_len, "LDERFA", LDERFA, "LDIMST", LDIMST, "KNIMES", KNIMES, NULL);
306  else
307  lfi_verb (lfi, "LFIOPT", "KNUMER", KNUMER, NULL);
308 }
309 
310 
311 static void lfinmg_verb (int st, struct lfi_hndl_t * lfi, LFINMG_ARGS_DECL)
312 {
313  if (st)
314  lfi_verb (lfi, "LFINMG", NULL);
315  else
316  lfi_verb (lfi, "LFINMG", "KNIVAU", KNIVAU, "KULOUT", KULOUT, NULL);
317 }
318 
319 
320 static void lficap_verb (int st, struct lfi_hndl_t * lfi, LFICAP_ARGS_DECL)
321 {
322  if (st)
323  lfi_verb (lfi, "LFICAP", "KREP", KREP, "CDNOMA", CDNOMA, CDNOMA_len, "KLONG", KLONG, "KPOSEX", KPOSEX, NULL);
324  else
325  lfi_verb (lfi, "LFICAP", "KNUMER", KNUMER, "LDRECU", LDRECU, NULL);
326 }
327 
328 
329 static void lfifra_verb (int st, struct lfi_hndl_t * lfi, LFIFRA_ARGS_DECL)
330 {
331  if (st)
332  lfi_verb (lfi, "LFIFRA", NULL);
333  else
334  lfi_verb (lfi, "LFIFRA", "LDFRAN", LDFRAN, NULL);
335 }
336 
337 
338 static void lficfg_verb (int st, struct lfi_hndl_t * lfi, LFICFG_ARGS_DECL)
339 {
340  if (st)
341  lfi_verb (lfi, "LFICFG", NULL);
342  else
343  lfi_verb (lfi, "LFICFG", NULL);
344 }
345 
346 
347 static void lfierf_verb (int st, struct lfi_hndl_t * lfi, LFIERF_ARGS_DECL)
348 {
349  if (st)
350  lfi_verb (lfi, "LFIERF", "KREP", KREP, NULL);
351  else
352  lfi_verb (lfi, "LFIERF", "KNUMER", KNUMER, "LDERFA", LDERFA, NULL);
353 }
354 
355 
356 static void lfilas_verb (int st, struct lfi_hndl_t * lfi, LFILAS_ARGS_DECL)
357 {
358  if (st)
359  lfi_verb (lfi, "LFILAS", "KREP", KREP, "CDNOMA", CDNOMA, CDNOMA_len, NULL);
360  else
361  lfi_verb (lfi, "LFILAS", "KNUMER", KNUMER, "KLONG", KLONG, NULL);
362 }
363 
364 
365 static void lfiren_verb (int st, struct lfi_hndl_t * lfi, LFIREN_ARGS_DECL)
366 {
367  if (st)
368  lfi_verb (lfi, "LFIREN", "KREP", KREP, NULL);
369  else
370  lfi_verb (lfi, "LFIREN", "KNUMER", KNUMER, "CDNOM1", CDNOM1, CDNOM1_len, "CDNOM2", CDNOM2, CDNOM2_len, NULL);
371 }
372 
373 
374 static void lfiini_verb (int st, struct lfi_hndl_t * lfi, LFIINI_ARGS_DECL)
375 {
376 }
377 
378 
379 static void lfipxf_verb (int st, struct lfi_hndl_t * lfi, LFIPXF_ARGS_DECL)
380 {
381  if (st)
382  lfi_verb (lfi, "LFIPXF", "KREP", KREP, "CDNOMA", CDNOMA, CDNOMA_len, "KLONG", KLONG, NULL);
383  else
384  lfi_verb (lfi, "LFIPXF", "KNUMER", KNUMER, "KNUMEX", KNUMEX, "CDCFGX", CDCFGX, CDCFGX_len, "KLAREX", KLAREX, "KXCNEX", KXCNEX, "KFACEX", KFACEX, "KNUTRA", KNUTRA, NULL);
385 }
386 
387 
388 static void lfioeg_verb (int st, struct lfi_hndl_t * lfi, LFIOEG_ARGS_DECL)
389 {
390  if (st)
391  lfi_verb (lfi, "LFIOEG", "KNIVAU", KNIVAU, NULL);
392  else
393  lfi_verb (lfi, "LFIOEG", NULL);
394 }
395 
396 
397 static void lfinaf_verb (int st, struct lfi_hndl_t * lfi, LFINAF_ARGS_DECL)
398 {
399  if (st)
400  lfi_verb (lfi, "LFINAF", "KREP", KREP, "KNALDO", KNALDO, "KNTROU", KNTROU, "KNARES", KNARES, "KNAMAX", KNAMAX, NULL);
401  else
402  lfi_verb (lfi, "LFINAF", "KNUMER", KNUMER, NULL);
403 }
404 
405 
406 static void lfiofd_verb (int st, struct lfi_hndl_t * lfi, LFIOFD_ARGS_DECL)
407 {
408  if (st)
409  lfi_verb (lfi, "LFIOFD", "KFACMD", KFACMD, NULL);
410  else
411  lfi_verb (lfi, "LFIOFD", NULL);
412 }
413 
414 
415 static void lfiomf_verb (int st, struct lfi_hndl_t * lfi, LFIOMF_ARGS_DECL)
416 {
417  if (st)
418  lfi_verb (lfi, "LFIOMF", "KREP", KREP, "KNIMES", KNIMES, NULL);
419  else
420  lfi_verb (lfi, "LFIOMF", "KNUMER", KNUMER, NULL);
421 }
422 
423 
424 static void lfiafm_verb (int st, struct lfi_hndl_t * lfi, LFIAFM_ARGS_DECL)
425 {
426  if (st)
427  lfi_verb (lfi, "LFIAFM", "KREP", KREP, NULL);
428  else
429  lfi_verb (lfi, "LFIAFM", "KNUMER", KNUMER, "KFACTM", KFACTM, NULL);
430 }
431 
432 
433 static void lfista_verb (int st, struct lfi_hndl_t * lfi, LFISTA_ARGS_DECL)
434 {
435  if (st)
436  lfi_verb (lfi, "LFISTA", "KREP", KREP, NULL);
437  else
438  lfi_verb (lfi, "LFISTA", "KNUMER", KNUMER, NULL);
439 }
440 
441 
442 static void lfiosf_verb (int st, struct lfi_hndl_t * lfi, LFIOSF_ARGS_DECL)
443 {
444  if (st)
445  lfi_verb (lfi, "LFIOSF", "KREP", KREP, "LDIMST", LDIMST, NULL);
446  else
447  lfi_verb (lfi, "LFIOSF", "KNUMER", KNUMER, NULL);
448 }
449 
450 
451 static void lfilap_verb (int st, struct lfi_hndl_t * lfi, LFILAP_ARGS_DECL)
452 {
453  if (st)
454  lfi_verb (lfi, "LFILAP", "KREP", KREP, "CDNOMA", CDNOMA, CDNOMA_len, NULL);
455  else
456  lfi_verb (lfi, "LFILAP", "KNUMER", KNUMER, "KLONG", KLONG, NULL);
457 }
458 
459 
460 static void lfioef_verb (int st, struct lfi_hndl_t * lfi, LFIOEF_ARGS_DECL)
461 {
462  if (st)
463  lfi_verb (lfi, "LFIOEF", "KREP", KREP, "LDERFA", LDERFA, NULL);
464  else
465  lfi_verb (lfi, "LFIOEF", "KNUMER", KNUMER, NULL);
466 }
467 
468 
469 static void lfimst_verb (int st, struct lfi_hndl_t * lfi, LFIMST_ARGS_DECL)
470 {
471  if (st)
472  lfi_verb (lfi, "LFIMST", "KREP", KREP, NULL);
473  else
474  lfi_verb (lfi, "LFIMST", "KNUMER", KNUMER, "LDIMST", LDIMST, NULL);
475 }
476 
477 
478 static void lfinim_verb (int st, struct lfi_hndl_t * lfi, LFINIM_ARGS_DECL)
479 {
480  if (st)
481  lfi_verb (lfi, "LFINIM", "KREP", KREP, NULL);
482  else
483  lfi_verb (lfi, "LFINIM", "KNUMER", KNUMER, "KNIMES", KNIMES, NULL);
484 }
485 
486 
487 static void lfisfm_verb (int st, struct lfi_hndl_t * lfi, LFISFM_ARGS_DECL)
488 {
489  if (st)
490  lfi_verb (lfi, "LFISFM", "KREP", KREP, NULL);
491  else
492  lfi_verb (lfi, "LFISFM", "KNUMER", KNUMER, NULL);
493 }
494 
495 
496 static void lfinsg_verb (int st, struct lfi_hndl_t * lfi, LFINSG_ARGS_DECL)
497 {
498  if (st)
499  lfi_verb (lfi, "LFINSG", NULL);
500  else
501  lfi_verb (lfi, "LFINSG", "KNIVAU", KNIVAU, NULL);
502 }
503 
504 
505 static void lfideb_verb (int st, struct lfi_hndl_t * lfi, LFIDEB_ARGS_DECL)
506 {
507  if (st)
508  lfi_verb (lfi, "LFIDEB", NULL);
509  else
510  lfi_verb (lfi, "LFIDEB", "LDEBUG", LDEBUG, NULL);
511 }
512 
513 
514 static void lfiomg_verb (int st, struct lfi_hndl_t * lfi, LFIOMG_ARGS_DECL)
515 {
516  if (st)
517  lfi_verb (lfi, "LFIOMG", "KNIVAU", KNIVAU, "KULOUT", KULOUT, NULL);
518  else
519  lfi_verb (lfi, "LFIOMG", NULL);
520 }
521 
522 
523 static void lfifmd_verb (int st, struct lfi_hndl_t * lfi, LFIFMD_ARGS_DECL)
524 {
525  if (st)
526  lfi_verb (lfi, "LFIFMD", NULL);
527  else
528  lfi_verb (lfi, "LFIFMD", "KFACMD", KFACMD, NULL);
529 }
530 
531 
532 /* lficb_verb definition */
533 
535 {
536  lfiouv_verb,
537  lficas_verb,
538  lfiecr_verb,
539  lfifer_verb,
540  lfilec_verb,
541  lfinfo_verb,
542  lfipos_verb,
543  lfiver_verb,
544  lfiofm_verb,
545  lfineg_verb,
546  lfilaf_verb,
547  lfiosg_verb,
548  lfinum_verb,
549  lfisup_verb,
550  lfiopt_verb,
551  lfinmg_verb,
552  lficap_verb,
553  lfifra_verb,
554  lficfg_verb,
555  lfierf_verb,
556  lfilas_verb,
557  lfiren_verb,
558  lfiini_verb,
559  lfipxf_verb,
560  lfioeg_verb,
561  lfinaf_verb,
562  lfiofd_verb,
563  lfiomf_verb,
564  lfiafm_verb,
565  lfista_verb,
566  lfiosf_verb,
567  lfilap_verb,
568  lfioef_verb,
569  lfimst_verb,
570  lfinim_verb,
571  lfisfm_verb,
572  lfinsg_verb,
573  lfideb_verb,
574  lfiomg_verb,
575  lfifmd_verb,
576 };
static void lfioeg_verb(int st, struct lfi_hndl_t *lfi, LFIOEG_ARGS_DECL)
Definition: lfi_verb.c:388
static void lfinmg_verb(int st, struct lfi_hndl_t *lfi, LFINMG_ARGS_DECL)
Definition: lfi_verb.c:311
static void lfilap_verb(int st, struct lfi_hndl_t *lfi, LFILAP_ARGS_DECL)
Definition: lfi_verb.c:451
static void lficas_verb(int st, struct lfi_hndl_t *lfi, LFICAS_ARGS_DECL)
Definition: lfi_verb.c:185
static void lfifmd_verb(int st, struct lfi_hndl_t *lfi, LFIFMD_ARGS_DECL)
Definition: lfi_verb.c:523
static void lfinum_verb(int st, struct lfi_hndl_t *lfi, LFINUM_ARGS_DECL)
Definition: lfi_verb.c:284
static void lfiopt_verb(int st, struct lfi_hndl_t *lfi, LFIOPT_ARGS_DECL)
Definition: lfi_verb.c:302
static void lfiecr_verb(int st, struct lfi_hndl_t *lfi, LFIECR_ARGS_DECL)
Definition: lfi_verb.c:194
static void lfiomf_verb(int st, struct lfi_hndl_t *lfi, LFIOMF_ARGS_DECL)
Definition: lfi_verb.c:415
void lfi_mess_(const integer64 *, character *, character_len)
static void lfiini_verb(int st, struct lfi_hndl_t *lfi, LFIINI_ARGS_DECL)
Definition: lfi_verb.c:374
static void lfipxf_verb(int st, struct lfi_hndl_t *lfi, LFIPXF_ARGS_DECL)
Definition: lfi_verb.c:379
INTERFACE SUBROUTINE FACILO KNIVAU
Definition: facilo.h:4
static void lfiouv_verb(int st, struct lfi_hndl_t *lfi, LFIOUV_ARGS_DECL)
Definition: lfi_verb.c:176
INTERFACE SUBROUTINE FACILO && KREP
Definition: facilo.h:4
static void lfinfo_verb(int st, struct lfi_hndl_t *lfi, LFINFO_ARGS_DECL)
Definition: lfi_verb.c:221
static void lfinaf_verb(int st, struct lfi_hndl_t *lfi, LFINAF_ARGS_DECL)
Definition: lfi_verb.c:397
static void lfinsg_verb(int st, struct lfi_hndl_t *lfi, LFINSG_ARGS_DECL)
Definition: lfi_verb.c:496
double real64
Definition: lfi_type.h:19
long long int integer64
Definition: lfi_type.h:15
static void lfisup_verb(int st, struct lfi_hndl_t *lfi, LFISUP_ARGS_DECL)
Definition: lfi_verb.c:293
static void lfifer_verb(int st, struct lfi_hndl_t *lfi, LFIFER_ARGS_DECL)
Definition: lfi_verb.c:203
static void lficfg_verb(int st, struct lfi_hndl_t *lfi, LFICFG_ARGS_DECL)
Definition: lfi_verb.c:338
static void lfiofm_verb(int st, struct lfi_hndl_t *lfi, LFIOFM_ARGS_DECL)
Definition: lfi_verb.c:248
static void lfiafm_verb(int st, struct lfi_hndl_t *lfi, LFIAFM_ARGS_DECL)
Definition: lfi_verb.c:424
static const char * mess[]
Definition: lfi_verb.c:27
static void lfilec_verb(int st, struct lfi_hndl_t *lfi, LFILEC_ARGS_DECL)
Definition: lfi_verb.c:212
static void lfioef_verb(int st, struct lfi_hndl_t *lfi, LFIOEF_ARGS_DECL)
Definition: lfi_verb.c:460
static void lfimst_verb(int st, struct lfi_hndl_t *lfi, LFIMST_ARGS_DECL)
Definition: lfi_verb.c:469
int character_len
Definition: lfi_type.h:17
lficb_t * cb
Definition: lfi_hndl.h:19
char character
Definition: lfi_type.h:18
void lfi_abor(const char *fmt,...)
Definition: lfi_abor.c:21
static void lfisfm_verb(int st, struct lfi_hndl_t *lfi, LFISFM_ARGS_DECL)
Definition: lfi_verb.c:487
void * data
Definition: lfi_hndl.h:21
static void lfiren_verb(int st, struct lfi_hndl_t *lfi, LFIREN_ARGS_DECL)
Definition: lfi_verb.c:365
static void lfiver_verb(int st, struct lfi_hndl_t *lfi, LFIVER_ARGS_DECL)
Definition: lfi_verb.c:239
static void lfipos_verb(int st, struct lfi_hndl_t *lfi, LFIPOS_ARGS_DECL)
Definition: lfi_verb.c:230
int snprintf(char *str, size_t size, const char *format,...)
Definition: endian.c:108
static void lfineg_verb(int st, struct lfi_hndl_t *lfi, LFINEG_ARGS_DECL)
Definition: lfi_verb.c:257
static void lfiomg_verb(int st, struct lfi_hndl_t *lfi, LFIOMG_ARGS_DECL)
Definition: lfi_verb.c:514
static void lfilaf_verb(int st, struct lfi_hndl_t *lfi, LFILAF_ARGS_DECL)
Definition: lfi_verb.c:266
static void lficap_verb(int st, struct lfi_hndl_t *lfi, LFICAP_ARGS_DECL)
Definition: lfi_verb.c:320
static void lfiosg_verb(int st, struct lfi_hndl_t *lfi, LFIOSG_ARGS_DECL)
Definition: lfi_verb.c:275
static void lfideb_verb(int st, struct lfi_hndl_t *lfi, LFIDEB_ARGS_DECL)
Definition: lfi_verb.c:505
INTERFACE SUBROUTINE FACILO KNUMER
Definition: facilo.h:4
static void lfifra_verb(int st, struct lfi_hndl_t *lfi, LFIFRA_ARGS_DECL)
Definition: lfi_verb.c:329
static void lfiofd_verb(int st, struct lfi_hndl_t *lfi, LFIOFD_ARGS_DECL)
Definition: lfi_verb.c:406
static integer64 iulout(lfi_hndl_t *lfi)
Definition: lfi_verb.c:65
INTERFACE SUBROUTINE FACONO CDNOMA
Definition: facono.h:4
static void lfista_verb(int st, struct lfi_hndl_t *lfi, LFISTA_ARGS_DECL)
Definition: lfi_verb.c:433
static void lfierf_verb(int st, struct lfi_hndl_t *lfi, LFIERF_ARGS_DECL)
Definition: lfi_verb.c:347
static void lfiosf_verb(int st, struct lfi_hndl_t *lfi, LFIOSF_ARGS_DECL)
Definition: lfi_verb.c:442
static void lfilas_verb(int st, struct lfi_hndl_t *lfi, LFILAS_ARGS_DECL)
Definition: lfi_verb.c:356
int logical
Definition: lfi_type.h:16
lficb_verb_t lficb_verb
Definition: lfi_verb.c:534
void lfi_verb(lfi_hndl_t *lfi, const char *func,...)
Definition: lfi_verb.c:76
static void lfinim_verb(int st, struct lfi_hndl_t *lfi, LFINIM_ARGS_DECL)
Definition: lfi_verb.c:478
void(* lfiomg)(LFIOMG_ARGS_DECL)
Definition: lfi_call.h:59