


DMINTRO(5ICD)		     9/18/85		    DMINTRO(5ICD)



NNNNAAAAMMMMEEEE
     dmintro - introduction to DDM Interface Functions

SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
     ####iiiinnnncccclllluuuuddddeeee """"ddddmmmmiiiinnnnccccllll....hhhh""""

DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     Section 5 of the ICD (IC Design) manual describes the DDM
     (Design Data Management) Interface Functions.  To use these
     functions, the file """"ddddmmmmiiiinnnnccccllll....hhhh"""" must be included in the pro-
     gram source.  Most of these functions have one or more error
     returns.  An error condition is indicated by an otherwise
     impossible return value.  This is usually ----1111 for integer
     functions, or NNNNUUUULLLLLLLL for functions returning a pointer to
     something; the individual manual pages give the details.

     An error number is also made available in the external vari-
     able ddddmmmmeeeerrrrrrrrnnnnoooo, which is not cleared on successful calls.
     Thus ddddmmmmeeeerrrrrrrrnnnnoooo should be tested only after an error has
     occurred.

     The following is a list of the errors and their names as
     given in """"ddddmmmmiiiinnnnccccllll....hhhh"""".

     Definition:     Errno:  Description:

     DME_SYS	     1	     /* error in system call */
     DME_DDM	     2	     /* DDM internal error */
     DME_BADARG      3	     /* bad arguments call */
     DME_MODE	     4	     /* mode is invalid for key */
     DME_BADPR	     5	     /* bad project */
     DME_BADVIEW     6	     /* bad view */
     DME_NOCELL      7	     /* cell does not exist */
     DME_BADKEY      8	     /* bad key */
     DME_LOCK	     9	     /* cell is locked */
     DME_PRIM	     10      /* can't open primary file */
     DME_RECUR	     11      /* illegal recursion */
     DME_EXIST	     12      /* cell already exists */
     DME_TECH	     13      /* can't open technology file */
     DME_PUT	     14      /* dmPutDesignData write error */
     DME_GET	     15      /* dmGetDesignData read error */
     DME_FMT	     16      /* bad format */
     DME_PRID	     17      /* unknown process id */
     DME_PRDATA      18      /* can't access process data */
     DME_CORE	     19      /* no more core */
     DME_PRREAD      20      /* process data read error */
     DME_CVIEW	     21      /* bad current view */
     DME_BADNAME     22      /* bad name */
     DME_NOVIEW      23      /* view does not exist */
     DME_EXVIEW      24      /* view already exists */
     DME_PRLOCK      25      /* project is locked */
     DME_FOPEN	     26      /* cannot open file */



		   The Nelsis IC Design System			1






DMINTRO(5ICD)		     9/18/85		    DMINTRO(5ICD)



     DME_BADENV      27      /* bad DDM environment */
     DME_NOCELLL     28      /* no celllist present */
     DME_INIT	     29      /* already initialized */
     DME_NOPRJL      30      /* no project list present */
     DME_NOIMPCL     31      /* no imported celllist present */
     DME_NODMRC      32      /* cannot open file .dmrc */
     DME_BADREL      33      /* bad release */
     DME_NOINIT      34      /* not yet initialized */
     DME_DMANERR     35      /* design manager error */
     DME_DMANRR      36      /* design manager rejects request */
     DME_NOROOT      37      /* cell is not a root */
     DME_NOFATH      38      /* no father cell */

SSSSPPPPEEEECCCCIIIIAAAALLLL CCCCOOOONNNNSSSSIIIIDDDDEEEERRRRAAAATTTTIIIIOOOONNNNSSSS
     In order to prevent name clashes, application programs
     should not use external names beginning with "ddddmmmm" or "____ddddmmmm",
     since all DDM functions do so.

FFFFIIIILLLLEEEESSSS
     ICDPATH/lib/include       Include file directory.
     ICDPATH/lib/libddm.a      Library file.

SSSSEEEEEEEE AAAALLLLSSSSOOOO
     dmError(5ICD).

FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS AAAAVVVVAAAAIIIILLLLAAAABBBBLLLLEEEE IIIINNNN TTTTHHHHEEEE DDDDDDDDMMMM LLLLIIIIBBBBRRRRAAAARRRRYYYY
     dmAttrPrint	    print attribute to attribute string
     dmAttrScan 	    scan attribute from attribute string
     dmCheckIn		    terminate a DDM cell transaction
     dmCheckOut 	    initiate a DDM cell transaction
     dmCloseProject	    terminate a DDM project transaction
     dmCloseStream	    close a DDM stream
     dmError		    DDM error message functions
     dmFindProjKey	    find project key and remote name
			    for (imported) cell
     dmGetDesignData	    get data from the database
     dmGetMetaDesignData    get meta design data
     dmInit		    initialize the DDM environment
     dmOpenProject	    initiate a DDM project transaction
     dmOpenStream	    open a DDM stream
     dmPerror		    DDM error message functions
     dmPrintf		    print formatted data to the database
     dmPutDesignData	    put data to the database
     dmPutMetaDesignData    put meta design data
     dmQuit		    quit all database interaction
     dmRemoveCell	    remove a cell from a project
     dmScanf		    scan formatted data from the database
     dmSeek		    reposition a stream pointer in a stream
     dmStat		    get DDM stream status
     dmTell		    get current position of a DDM stream
     dmTestname 	    test a name
     dmUnlink		    unlink secondary DDM data stream



2		   The Nelsis IC Design System






DMINTRO(5ICD)		     9/18/85		    DMINTRO(5ICD)























































		   The Nelsis IC Design System			3






