Open:

ddsCubeScanBin...

  1. Default cube description from binary -
    ddsCubeScanAxis... "size, origin, delta, ..."
    ScanFmtFlags... "format= ... flags"
  2. Final new cube description with overrides -
    ddsCubeScanAxis... "size, origin, delta, ..."
    ddsReformName... "sort:...= <hdr_name>"
    ScanEditFlags... "edit:...= flags"
Structures:
    DDS_BIN - Binary Structure defined in dds_binary.h


Globals:
    DDS_BIN **dds_bin;    /* array of binary structures for each I/O buffer */
    DDS_BIN *dds_compile; /* binary used by the compiler    */


Files:
    f_xxx.c        - Fortran API Routines
                        f_open.c f_datadefn.c f_ptr.c
    c_xxx.c        - "C" API Routines
                        c_open.c  c_datadefn.c 
    openbin.c      - Open binary data, validate format and data definition
    autofmt.c      - Automatic format detection
    opennametest.c - Test the genus type of data filenames
    opennamemake.c - Make default output filename from DATA_PATH & DATA_SUFFIX
    openslice.c    - Create sliced binary 
    opennew.c      - Open new output files
    opennewusp.c   - Open new USP binary data
    opennewsegy.c  - Open new SEGY binary data
    opennewgen.c   - Open new generix binary data
    openold.c      - Open existing files
    openoldusp.c   - Open existing USP binary data
    openoldsegy.c  - Open existing SEGY binary data
    openoldgen.c   - Open existing generic binary data
    cubelinker.c   - Link binary cube description 
                     (called by above open routines)
    cubescaninit.c - Initialize default cube description
    cubescanbin.c  - Scan binary cube description
    cubescanaxis.c - Scan cube axis descriptions
    reformname.c   - Retrieve cube axis sort header name (sort.axis(#))
    cubeprint.c    - Update binary cube description
    cubeinc.c      - Increment the cube sort indices to next expected value
    hdrdefchar.c   - Set default character line header value from dictionary
                     (called by HDR_DEF_CHAR macro used in opennewusp.c 
                     and opennewsegy.c)
    hdrdeffloat.c  - Set default float line header value from dictionary 
                     (called by HDR_DEF_FLOAT macro used in opennewusp.c)
    hdrdefint.c    - Set default integer line header value from dictionary 
                     (called by HDR_DEF_INT macro used in opennewusp.c
                     and opennewsegy.c)
    hdrgetchar.c   - Get character header value from dictionary and/or binary
                      buffer (called by HDR_GET_CHAR macro used in openoldusp.c 
                     and openoldsegy.c)
    hdrgetfloat.c  - Get float header value from dictionary and/or binary buffer
                     (called by HDR_GET_FLOAT macro used in openoldusp.c)
    hdrgetint.c    - Get integer header value from dictionary and/or binary
                      buffer (called by HDR_GET_INT macro used in openoldusp.c 
                     and openoldsegy.c)
    hdrmodchar.c   - Update character header value within dictionary
                     (called by HDR_MOD_CHAR macro used in openoldusp.c,
                     opennewusp.c, openoldsegy.c and opennewsegy.c)
    hdrmodfloat.c  - Update float header value within dictionary
                     (called by HDR_MOD_FLOAT macro used in openoldusp.c 
                     and openoldsegy.c)
    hdrmodint.c    - Update integer header value within dictionary
                     (called by HDR_MOD_INT macro used in openoldusp.c,
                     opennewusp.c, openoldsegy.c and opennewsegy.c)
    hdrputchar.c   - Put character header value into binary buffer
                     (called by HDR_PUT_CHAR macro used in opennewusp.c 
                     and opennewsegy.c)
    hdrputfloat.c  - Put float header value into binary buffer
                     (called by HDR_PUT_FLOAT macro used in opennewusp.c)
    hdrputint.c    - Put integer header value into binary buffer
                     (called by HDR_PUT_INT macro used in opennewusp.c 
                     and opennewsegy.c)
    tracetag.c     - Link SEQUENCE to binary trace and add set as tag "0"
    objecttag.c    - Link an object to a structure and create its API tag
    linkmember.c   - Link a symbolic member to a sturcture and create its API tag
    binfreeze.c    - Compile binary structure and freeze it for
                     read/write/seek processing
    linkobject.c   - Create maps for read/write/seek processing
    linkobjectsu.c - Map member to output from itself
                     (called by ddsLinkObject)
    linkobjectsu2.c- Compile mapping expression (calls ddsLexStr and ddsYYparse)
                     (called by ddsLinkObjectSU)
    compilefmt.c   - Open and compile format for binary data.  This calls 
                     ddsYYparse (defined as yyparse in parser.tab.c), ddsLexStr
                     (from scanner.yy.c) and ddsEvaluate.
    uncompilefmt.c - Uncompile binary data format.  After compiling the binary
                     format with all it's potential overrides, this uncompiles it
                     from the symbol tables to reproduce the resulting format
                     definitions.  Later, only format definitions that have 
                     changed will get rewritten to the output dictionary.