/usr/include/lite_pdb.h is in libsilo-dev 4.10.2-5build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 | /*
Copyright (c) 1994 - 2010, Lawrence Livermore National Security, LLC.
LLNL-CODE-425250.
All rights reserved.
This file is part of Silo. For details, see silo.llnl.gov.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the disclaimer below.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the disclaimer (as noted
below) in the documentation and/or other materials provided with
the distribution.
* Neither the name of the LLNS/LLNL nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE
LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF ENERGY OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This work was produced at Lawrence Livermore National Laboratory under
Contract No. DE-AC52-07NA27344 with the DOE.
Neither the United States Government nor Lawrence Livermore National
Security, LLC nor any of their employees, makes any warranty, express
or implied, or assumes any liability or responsibility for the
accuracy, completeness, or usefulness of any information, apparatus,
product, or process disclosed, or represents that its use would not
infringe privately-owned rights.
Any reference herein to any specific commercial products, process, or
services by trade name, trademark, manufacturer or otherwise does not
necessarily constitute or imply its endorsement, recommendation, or
favoring by the United States Government or Lawrence Livermore
National Security, LLC. The views and opinions of authors expressed
herein do not necessarily state or reflect those of the United States
Government or Lawrence Livermore National Security, LLC, and shall not
be used for advertising or product endorsement purposes.
*/
/*
* PDB.H - header file supporting PDBLIB routines
* -
* Source Version: 9.0
* Software Release #92-0043
*
*/
#ifdef PCK_PDB
#error CANNOT INCLUDE PDB PROPER AND PDB LITE HEADERS IN SAME COMPILATION MODULE
#endif
#ifndef _LITE_PDB_H
#define _LITE_PDB_H
#include <setjmp.h> /* For the setjmp/long structure jmp_buf. */
#include <stdio.h>
#include "lite_score.h" /* For type definitions */
#ifdef __cplusplus
extern "C" {
#endif
#define PD_err lite_PD_err
#define PD_buffer_size lite_PD_buffer_size
#define FORMAT_FIELDS lite_FORMAT_FIELDS
#define PD_DEF_CREATM lite_PD_DEF_CREATM
#define IEEEA_STD lite_IEEEA_STD
#define IEEEB_STD lite_IEEEB_STD
#define INTELA_STD lite_INTELA_STD
#define CRAY_STD lite_CRAY_STD
#define VAX_STD lite_VAX_STD
#define DEF_STD lite_DEF_STD
#define INT_STANDARD lite_INT_STANDARD
#define M68000_ALIGNMENT lite_M68000_ALIGNMENT
#define INTELA_ALIGNMENT lite_INTELA_ALIGNMENT
#define UNICOS_ALIGNMENT lite_UNICOS_ALIGNMENT
#define SPARC_ALIGNMENT lite_SPARC_ALIGNMENT
#define RS6000_ALIGNMENT lite_RS6000_ALIGNMENT
#define MIPS_ALIGNMENT lite_MIPS_ALIGNMENT
#define DEF_ALIGNMENT lite_DEF_ALIGNMENT
#define INT_ALIGNMENT lite_INT_ALIGNMENT
#define PD_cd lite_PD_cd
#define PD_close lite_PD_close
#define PD_convert lite_PD_convert
#define PD_copy_dims lite_PD_copy_dims
#define PD_copy_members lite_PD_copy_members
#define PD_copy_syment lite_PD_copy_syment
#define PD_defncv lite_PD_defncv
#define PD_dereference lite_PD_dereference
#define PD_error lite_PD_error
#define PD_get_attribute lite_PD_get_attribute
#define PD_hyper_number lite_PD_hyper_number
#define PD_inquire_entry lite_PD_inquire_entry
#define PD_ls lite_PD_ls
#define PD_open lite_PD_open
#define PD_pwd lite_PD_pwd
#define PD_read lite_PD_read
#define PD_read_alt lite_PD_read_alt
#define PD_read_as lite_PD_read_as
#define PD_read_as_alt lite_PD_read_as_alt
#define PD_typedef lite_PD_typedef
#define PD_get_file_length lite_PD_get_file_length
#define PD_SYMENT_S lite_PD_SYMENT_S
#define PD_DEFSTR_S lite_PD_DEFSTR_S
#define PD_mkdir lite_PD_mkdir
#define PD_write lite_PD_write
#define PD_write_as lite_PD_write_as
#define PD_write_alt lite_PD_write_alt
#define PD_write_as_alt lite_PD_write_as_alt
#define PD_create lite_PD_create
#define PD_defstr lite_PD_defstr
#define PD_cast lite_PD_cast
#define PD_target lite_PD_target
#define PD_flush lite_PD_flush
#define PD_defent lite_PD_defent
#define PD_defent_alt lite_PD_defent_alt
#define PD_append_alt lite_PD_append_alt
#define PD_append lite_PD_append
#define PD_append_as lite_PD_append_as
#define PD_append_as_alt lite_PD_append_as_alt
/* The MAXLINE macro is defined in score.h and taken from stdio.h's */
/* FILENAME_MAX. HP's is only 14, so correct that here. */
#ifndef MAXLINE
#define MAXLINE 1024
#else
#if MAXLINE < 1024
#undef MAXLINE
#define MAXLINE 1024
#endif
#endif
#define PDB_SYSTEM_VERSION 14
#define PDB_WRITE /*Include code to write to pdb files*/
/* PDBFile Layout:
*
* Header (ASCII)
* Identifying token
* Data Formats
* Structure Chart Address
* Symbol Table Address
* Data
* Structure Chart
* Symbol Table
* Extensions
* EOF
*/
#define NORMAL_ORDER 1
#define REVERSE_ORDER 2 /* this must not be -1 which turns out to be EOF */
#define IEEE_32_64 1 /* IEEE standard 32 bit float : 64 bit double */
#define INTEL_X86 2 /* Intel 80x86 class machines */
#define CRAY_64 3 /* CRAY class machines */
#define VAX_11 4 /* VAX class machines */
#define IEEE_32_96 6 /* IEEE standard 32 bit float : 96 bit double */
#define NSTD 6 /* Number of standards currently in the system
should be same as last standard */
#define PD_READ 0
#define PD_WRITE 1
#define PD_APPEND 2
#define PD_OPEN 3
#define PD_CREATE 4
#define PD_CLOSE 5
#define PD_TRACE 6
#define PD_PRINT 7
#define ROW_MAJOR_ORDER 101
#define COLUMN_MAJOR_ORDER 102
#define PF_ALPHABETIC 1
#define PF_DISK_ORDER 2
#define X_AND_Y 1
#define X_ONLY 2
#define Y_ONLY 3
/*--------------------------------------------------------------------------*/
/* Macros */
/*--------------------------------------------------------------------------*/
#define PN_sizeof(type, tab) _lite_PD_lookup_size(type, tab)
#define PD_get_mode(file) ((file)->mode)
#define PD_set_mode(file, v) (file)->mode = (v)
#define PD_get_offset(file) ((file)->default_offset)
#define PD_set_offset(file, v) (file)->default_offset = (v)
/* #define PD_file_maximum_size(file) file->maximum_size */
/* replaced by PD_get_max_file_size and PD_set_max_file_size below */
#define PD_get_max_file_size(file) ((file)->maximum_size)
#define PD_set_max_file_size(file, v) (file)->maximum_size = (v)
#define PD_entry_type(ep) ((ep)->type)
#define PD_entry_dimensions(ep) ((ep)->dimensions)
#define PD_entry_address(ep) ((ep)->blocks[0].diskaddr)
#define PD_entry_number(ep) ((ep)->number)
#define PD_entry_indirects(ep) ((ep)->indirects)
#define PD_entry_blocks(ep) ((ep)->blocks)
#define PD_block_address(ep, n) ((ep)->blocks[n].diskaddr)
#define PD_block_number(ep, n) ((ep)->blocks[n].number)
#define PD_n_blocks(ep) (lite_SC_arrlen((ep)->blocks)/sizeof(symblock))
#define PD_get_major_order(file) ((file)->major_order)
#define PD_set_major_order(file, type) (file)->major_order = (type)
#define PD_has_directories(file) \
(lite_SC_def_lookup("Directory", file->chart) != NULL)
#define PD_inquire_type(file, name) \
(defstr *) lite_SC_def_lookup(name, file->chart)
#define PD_inquire_host_type(file, name) \
(defstr *) lite_SC_def_lookup(name, file->host_chart)
#define PD_inquire_table_type(table, name) \
(defstr *) lite_SC_def_lookup(name, table)
#define PD_hyper_refp(name, commnd) \
{char c, s[MAXLINE]; \
strcpy(s, name); \
c = s[strlen(s) - 1]; \
if ((c == ')') || (c == ']')) \
(commnd);}
#define PD_hyper_ref(s, name) \
{char c; \
strcpy(s, name); \
c = s[strlen(s) - 1]; \
if ((c == ')') || (c == ']')) \
{s[strlen(s) - 1] = '\0'; \
lite_SC_lasttok(s, "[]()");};}
#define PD_INQUIRE_ATTRIBUTE(x) \
((attribute *) lite_SC_def_lookup((x), file->attrtab))
#define PD_INQUIRE_ATTRIBUTE_VALUE(x) \
((attribute_value *) lite_SC_def_lookup((x), file->attrtab))
#define PD_CAST_TYPE(t, d, vg, vl, err_fnc, err_msg, err_arg) \
{if (d->cast_offs < 0L) \
t = d->type; \
else \
{t = DEREF(vl + d->cast_offs); \
if (t == NULL) \
{if (DEREF(vg) != NULL) \
{err_fnc(err_msg, err_arg);} \
else \
t = d->type;};};}
/*--------------------------------------------------------------------------*/
/* TYPEDEFS AND STRUCTS */
/*--------------------------------------------------------------------------*/
struct s_data_alignment {
int char_alignment;
int ptr_alignment;
int short_alignment;
int int_alignment;
int long_alignment;
int longlong_alignment;
int float_alignment;
int double_alignment;
int struct_alignment;
};
typedef struct s_data_alignment data_alignment;
struct s_data_standard {
int ptr_bytes;
int short_bytes;
int short_order;
int int_bytes;
int int_order;
int long_bytes;
int long_order;
int longlong_bytes;
int longlong_order;
int float_bytes;
long *float_format;
int *float_order;
int double_bytes;
long *double_format;
int *double_order;
};
typedef struct s_data_standard data_standard;
struct s_PDBfile {
FILE *stream;
char *name;
char *type; /* used by files masqerading as PDB */
HASHTAB *symtab;
HASHTAB *chart;
HASHTAB *host_chart;
HASHTAB *attrtab;
long maximum_size; /* for file family bookkeeping */
char *previous_file; /* for file family bookkeeping */
int mode;
int default_offset;
data_standard *std;
data_standard *host_std;
data_alignment *align;
data_alignment *host_align;
char *current_prefix;
int flushed;
int virtual_internal;
int system_version;
int major_order;
char *date;
long headaddr;
long symtaddr;
long chrtaddr;
int ignore_apersand_ptr_ia_syms;
};
typedef struct s_PDBfile PDBfile;
/*
* Dimension descriptor - describe an array dimension range
* NOTE: changes here must be reflected in sxhook.c
*/
struct s_dimdes {
long index_min;
long index_max;
long number;
struct s_dimdes *next;
};
typedef struct s_dimdes dimdes;
/*
* Member descriptor - describe a member efficiently
* NOTE: changes here must be reflected in sxhook.c
*/
struct s_memdes {
char *member;
long member_offs;
char *cast_memb;
long cast_offs;
char *type;
char *base_type;
char *name;
dimdes *dimensions;
long number;
struct s_memdes *next;
};
typedef struct s_memdes memdes;
/*
* Symbol table entry block - manage discontiguous data items
* NOTE: changes here must be reflected in sxhook.c
*/
struct s_symblock {
long number;
long diskaddr;
};
typedef struct s_symblock symblock;
/*
* Symbol table entry indirects
* NOTE: changes here must be reflected in sxhook.c
*/
struct s_symindir {
long addr;
long n_ind_type;
long arr_offs;
};
typedef struct s_symindir symindir;
/*
* Symbol table entry - the def member of a hashel
* NOTE: changes here must be reflected in sxhook.c
*/
struct s_syment {
char *type;
dimdes *dimensions;
long number;
symindir indirects;
symblock *blocks;
};
typedef struct s_syment syment;
/*
* Structure chart entry - the def member of a hashel
* NOTE: changes here must be reflected in sxhook.c
*/
struct s_defstr {
char *type;
long size_bits;
long size;
int alignment; /* type begins on byte boundary divisible by alignment */
int n_indirects; /* number of indirections */
int convert;
int onescmp; /* TRUE iff ones complement arithmetic - old machines */
int unsgned; /* TRUE iff the integral type is unsigned */
int order_flag;
int *order;
long *format;
memdes *members;
};
typedef struct s_defstr defstr;
typedef memdes *(*PFPmemdes)() ;
typedef memdes *(*ReaderFuncType)(memdes *);
typedef memdes *(*WriterFuncType)(PDBfile *,char *,defstr *);
/*
* Indirect reference tag.
*/
struct s_PD_itag {
long nitems; /* number of items pointed to */
char *type; /* type of item pointed to */
long addr; /* address of the itag owning data */
int flag; /* TRUE if this itag owns the data */
};
typedef struct s_PD_itag PD_itag;
/*
* Hyper-index support structure
*/
struct s_dimind {
long stride;
long start;
long stop;
long step;
};
typedef struct s_dimind dimind;
struct s_attribute {
char *name;
char *type;
lite_SC_byte **data;
long size;
long indx;
};
typedef struct s_attribute attribute;
struct s_attribute_value {
attribute *attr;
long indx;
struct s_attribute_value *next;
};
typedef struct s_attribute_value attribute_value;
/*
* PD_IMAGE is a faithful shadow of the PG_image which is not defined yet
* any changes to PG_image must be reflected here
*/
struct s_PD_image {
int version_id;
char *label;
double xmin;
double xmax;
double ymin;
double ymax;
double zmin;
double zmax;
char *element_type;
unsigned char *buffer;
int kmax;
int lmax;
long size;
int bits_pixel;
char *palette;
};
typedef struct s_PD_image PD_image;
/*--------------------------------------------------------------------------*/
/* PDBLIB VARIABLES */
/*--------------------------------------------------------------------------*/
extern jmp_buf _lite_PD_close_err ;
extern jmp_buf _lite_PD_print_err ;
extern jmp_buf _lite_PD_read_err ;
extern jmp_buf _lite_PD_trace_err ;
extern char lite_PD_err[] ;
extern int lite_PD_buffer_size ;
extern int lite_FORMAT_FIELDS ;
extern char* lite_PD_DEF_CREATM;
extern data_standard lite_IEEEA_STD ;
extern data_standard lite_IEEEB_STD ;
extern data_standard lite_INTELA_STD ;
extern data_standard lite_CRAY_STD ;
extern data_standard lite_VAX_STD ;
extern data_standard lite_DEF_STD ;
extern data_standard *lite_INT_STANDARD ;
extern data_alignment lite_M68000_ALIGNMENT ;
extern data_alignment lite_INTELA_ALIGNMENT ;
extern data_alignment lite_UNICOS_ALIGNMENT ;
extern data_alignment lite_SPARC_ALIGNMENT ;
extern data_alignment lite_RS6000_ALIGNMENT ;
extern data_alignment lite_MIPS_ALIGNMENT ;
extern data_alignment lite_DEF_ALIGNMENT ;
extern data_alignment *lite_INT_ALIGNMENT ;
extern ReaderFuncType lite_pdb_rd_hook ; /* NOT_LITE_API */
extern WriterFuncType lite_pdb_wr_hook ; /* NOT_LITE_API */
/*--------------------------------------------------------------------------*/
/* PDBLIB FUNCTIONS */
/*--------------------------------------------------------------------------*/
LITE_API extern int lite_PD_cd (PDBfile*,char*);
LITE_API extern int lite_PD_close (PDBfile*);
LITE_API extern int lite_PD_convert (char**,char**,char*,char*,long, data_standard*,data_standard*, data_standard*,long*,long*,HASHTAB*, HASHTAB*,int,int);
LITE_API extern dimdes *lite_PD_copy_dims (dimdes*);
LITE_API extern memdes *lite_PD_copy_members (memdes*);
LITE_API extern syment *lite_PD_copy_syment (syment*);
LITE_API extern defstr *lite_PD_defncv (PDBfile*,char*,long,int);
LITE_API extern char * lite_PD_dereference (char*);
LITE_API extern void lite_PD_error (char*,int);
LITE_API extern lite_SC_byte * lite_PD_get_attribute (PDBfile*,char*,char*);
LITE_API extern long lite_PD_hyper_number (PDBfile*,char*,syment*);
LITE_API extern syment *lite_PD_inquire_entry (PDBfile*,char*,int,char*);
LITE_API extern char ** lite_PD_ls (PDBfile*,char*,char*,int*);
LITE_API extern PDBfile *lite_PD_open (char*,char*);
LITE_API extern char * lite_PD_pwd (PDBfile*);
LITE_API extern int lite_PD_read (PDBfile*,char*,lite_SC_byte*);
LITE_API extern int lite_PD_read_alt (PDBfile*,char*,lite_SC_byte*,long*);
LITE_API extern int lite_PD_read_as (PDBfile*,char*,char*,lite_SC_byte*);
LITE_API extern int lite_PD_read_as_alt (PDBfile*,char*,char*,lite_SC_byte*,long*);
LITE_API extern defstr *lite_PD_typedef (PDBfile*,char*,char*);
/* added 26Feb08 as per request from Burl Hall */
LITE_API extern int lite_PD_entry_number (syment*); /* NOT_LITE_API */
LITE_API extern long lite_PD_get_file_length (PDBfile *file);
extern int _lite_PD_align (long,char*,HASHTAB*,int*);
extern void _lite_PD_check_casts (HASHTAB*,char**,long);
extern void _lite_PD_clr_table (HASHTAB*,FreeFuncType);
extern long _lite_PD_comp_num (dimdes*);
extern int _lite_PD_compare_std (data_standard*,data_standard*,
data_alignment*,data_alignment*);
LITE_API extern int _lite_PD_convert (char**,char**,long,int,defstr*,
defstr*,data_standard*,long*,long*);
LITE_API extern void _lite_PD_convert_ascii (char*,char*,long,int,int);
LITE_API extern data_alignment * _lite_PD_copy_alignment (data_alignment*);
LITE_API extern data_standard * _lite_PD_copy_standard (data_standard*);
LITE_API extern void _lite_PD_d_install (char*,defstr*,HASHTAB*);
LITE_API extern defstr * _lite_PD_defstr_inst (char*,memdes*,int,int*,long*,
HASHTAB*,HASHTAB*,
data_alignment*,
data_alignment*,int);
LITE_API extern void _lite_PD_e_install (char*,syment*,HASHTAB*);
LITE_API extern syment * _lite_PD_effective_ep (PDBfile*,char*,int,char*);
LITE_API extern dimdes * _lite_PD_ex_dims (char*,int,int);
LITE_API extern long _lite_PD_extract_field (char*,int,int,int,int*);
LITE_API extern void _lite_PD_fconvert (char**,char**,long,int,long*,int*,
long*,int*,int,int,int);
LITE_API extern char * _lite_PD_fixname (PDBfile*,char*);
LITE_API extern long _lite_PD_hyper_number (PDBfile*,char*,long,dimdes*,
long*);
LITE_API extern int _lite_PD_hyper_read (PDBfile*,char*,char*,syment*,
lite_SC_byte*);
LITE_API extern void _lite_PD_iconvert (char**,char**,long,long,int,long,
int,int);
extern int _lite_PD_indexed_read_as (PDBfile*,char*,char*,lite_SC_byte*,
int,long*,syment*);
LITE_API extern int _lite_PD_indirection (char*);
LITE_API extern void _lite_PD_init_chrt (PDBfile*);
LITE_API extern void _lite_PD_init_dimind (dimind*,long,long,char*);
LITE_API extern long _lite_PD_lookup_size (char*,HASHTAB*);
LITE_API extern defstr * _lite_PD_lookup_type (char*,HASHTAB*);
LITE_API extern char * _lite_PD_member_base_type (char*);
LITE_API extern long _lite_PD_member_items (char*);
LITE_API extern long _lite_PD_member_location (char*,HASHTAB*,defstr*,
memdes**);
LITE_API extern char * _lite_PD_member_name (char*);
LITE_API extern char * _lite_PD_member_type (char*);
LITE_API extern data_alignment * _lite_PD_mk_alignment (char*);
LITE_API extern defstr * _lite_PD_mk_defstr (char*,memdes*,long,int,int,int,
int*,long*);
extern memdes * _lite_PD_mk_descriptor (char*,int);
extern dimdes * _lite_PD_mk_dimensions (long,long);
extern PDBfile * _lite_PD_mk_pdb (char*, const char*);
extern data_standard * _lite_PD_mk_standard (void);
extern syment * _lite_PD_mk_syment (char*,long,long,symindir*,dimdes*);
extern int _lite_PD_null_pointer (char*,int);
extern int _lite_PD_pio_close (FILE*);
extern int _lite_PD_pio_printf (FILE*,char*,...);
extern int _lite_PD_pio_seek (FILE*,long,int);
extern int _lite_PD_prim_typep (char*,HASHTAB*,int);
extern int _lite_PD_rd_chrt (PDBfile*);
extern int _lite_PD_rd_extras (PDBfile*);
extern int _lite_PD_rd_format (PDBfile*);
extern int _lite_PD_rd_itag (PDBfile*,PD_itag*);
extern void _lite_PD_rd_prim_extras (PDBfile*,int,int,char*);
extern long _lite_PD_rd_syment (PDBfile*,syment*,char*,lite_SC_byte*);
extern int _lite_PD_rd_symt (PDBfile*);
extern char * _lite_PD_rfgets (char*,int,FILE*);
extern void _lite_PD_rl_alignment (data_alignment*);
extern void _lite_PD_rl_defstr (defstr*);
extern void _lite_PD_rl_descriptor (memdes*);
extern void _lite_PD_rl_dimensions (dimdes*);
extern void _lite_PD_rl_pdb (PDBfile*);
extern void _lite_PD_rl_standard (data_standard*);
extern void _lite_PD_rl_syment (syment*);
extern void _lite_PD_rl_syment_d (syment*);
extern void _lite_PD_setup_chart (HASHTAB*,data_standard*,
data_standard*,data_alignment*,
data_alignment*,int);
LITE_API extern long _lite_PD_skip_over (PDBfile*,long,int);
LITE_API extern long _lite_PD_str_size (memdes*,HASHTAB*);
LITE_API extern int _lite_PD_unp_bits (char*,char*,int,int,int,int,long,
long);
LITE_API extern char *lite_PD_SYMENT_S;
LITE_API extern char *lite_PD_DEFSTR_S;
#ifdef PDB_WRITE
LITE_API extern int lite_PD_mkdir (PDBfile*,char*);
LITE_API extern int lite_PD_write (PDBfile*,char*,char*,lite_SC_byte*);
LITE_API extern int lite_PD_write_as (PDBfile*,char*,char*,char*,lite_SC_byte*);
LITE_API extern int lite_PD_write_alt (PDBfile*,char*,char*,lite_SC_byte*,int, long*);
LITE_API extern int lite_PD_write_as_alt (PDBfile*,char*,char*,char*,lite_SC_byte*, int,long*);
LITE_API extern PDBfile *lite_PD_create (char*);
LITE_API extern defstr *lite_PD_defstr (PDBfile*,char*,...);
LITE_API extern int lite_PD_cast (PDBfile*,char*,char*,char*);
LITE_API extern int lite_PD_target (data_standard*,data_alignment*);
LITE_API extern int lite_PD_flush (PDBfile*);
LITE_API extern syment *lite_PD_defent (PDBfile*,char*,char*,long,dimdes*);
LITE_API extern syment *lite_PD_defent_alt (PDBfile*,char*,char*,int,long*);
/* added 26Feb08 as per request from Burl Hall */
LITE_API extern void lite_PD_set_major_order (PDBfile*,int); /* NOT_LITE_API */
LITE_API extern int lite_PD_append_alt (PDBfile*,char*,void*,int,long*);
/* added 08May12 to compile pdbtst.c */
LITE_API extern int lite_PD_append(PDBfile *file, char *name, void *vr);
LITE_API extern int lite_PD_append_as(PDBfile *file, char *name, char *intype, void *vr);
LITE_API extern int lite_PD_append_as_alt(PDBfile *file, char *name, char *intype, void *vr, int nd, long *ind);
extern int _lite_PD_adj_dimensions (PDBfile*,char*,syment*);
extern int _lite_PD_add_block (PDBfile*,syment*,dimdes*);
extern int _lite_PD_hyper_write (PDBfile*,char*,syment*,lite_SC_byte*, char*);
extern void _lite_PD_convert_attrtab (PDBfile*);
extern int _lite_PD_wr_format (PDBfile*);
extern int _lite_PD_extend_file (PDBfile*,long);
extern long _lite_PD_wr_syment (PDBfile*,char*,long,char*,char*);
extern long _lite_PD_number_refd (lite_SC_byte*,char*,HASHTAB*);
extern int _lite_PD_wr_itag (PDBfile*,long,char*,long,int);
extern void _lite_PD_eod (PDBfile*);
extern long _lite_PD_wr_chrt (PDBfile*);
extern long _lite_PD_wr_symt (PDBfile*);
extern int _lite_PD_wr_extras (PDBfile*);
extern int _lite_PD_rev_chrt (PDBfile*);
extern void _lite_PD_wr_prim_extras (FILE*,HASHTAB*,int,int);
#endif /* PDB_WRITE */
#ifdef __cplusplus
}
#endif
#endif /* !_PDB_H */
|