Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

Hull and Outfitting

'C/C++' Header Files

  • Last UpdatedJan 05, 2024
  • 6 minute read

Two 'C/C++' header files are supplied with the 'C/C++' DARs library. They are included in any 'C/C++' DARs application program. pdms.h is included within d3libc.h .

d3libc.h:

d3libc.h is the header file that defines the DARs routine 'C' prototypes.

**

d3libc.h

**

**

header file for DARS C to FORTRAN interface.

**

The DAR routines are written in FORTRAN

**

but here is the user C/C++ interface

**

**

Notes:

**

1. arguments are passed by address.

**

**/

#ifndef D3LIBC_H

#define D3LIBC_H

/* end of system includes */

#include <pdms.h>

/*

** DAR interface function/subroutine prototypes

*/

#ifdef __cplusplus

extern "C" void d3echk

( char *cd3err ) ;

extern "C" void d3emsg

( int *id3err, int *ld3dis, DARS_MESS cd3msg ) ;

extern "C" void d3erst

( void ) ;

extern "C" void d3fend

( void ) ;

extern "C" void d3fin

( int *id3err ) ;

extern "C" void d3init

( char *cd3prj, char *cd3usr, char *cd3pas, char *cd3mon, char *cd3wrk, int *id3err ) ;

extern "C" void d3mcdb

( char *cd3nam, int *id3pos, int *id3err ) ;

extern "C" void d3mddb

( char *cd3nam, int *id3err ) ;

extern "C" void d3medb

( char *cd3nm1, char *cd3nm2, int *id3err ) ;

extern "C" void d3mmdb

( char *cd3mdb, char *cd3wrk, int *id3err ) ;

extern "C" void d3mnam

( char *cd3nam, int *id3err ) ;

extern "C" void d3mnum

( char *cd3typ, int *id3lis, int *id3err ) ;

extern "C" void d3mown

( int *id3err ) ;

extern "C" void d3mqdb

( int *id3pos, PDMS_DBNAME cd3nam, PDMS_WORD cd3typ, int *id3sta, int *id3err ) ;

extern "C" void d3mrel

( char *cd3pos, char *cd3typ, int *id3err ) ;

extern "C" void d3mrst

( int *id3err ) ;

extern "C" void d3msav

( int *id3err ) ;

extern "C" void d3rbdu

( PDMS_WORD cd3bun, PDMS_WORD cd3dun, int *id3err ) ;

extern "C" void d3rbox

( int *ld3tub, float *rd3box, int *id3err ) ;

extern "C" void d3rdat

( int *id3dat, DARS_RDAT cd3dat, int *id3err ) ;

extern "C" void d3ria

( char *cd3att, int *id3nin, int *id3ia, int *id3nou, int *id3err ) ;

extern "C" void d3rint

( char *cd3att, int *id3int, int *id3err ) ;

extern "C" void d3rla

( char *cd3att, int *id3nin, int *ld3la, int *id3nou, int *id3err ) ;

extern "C" void d3rlog

( char *cd3att, int *ld3log, int *id3err ) ;

extern "C" void d3rnam

( char *cd3att, PDMS_NAME cd3nam, int *id3err ) ;

extern "C" void d3rorl

( char *cd3crd, float *rd3ori, int *id3err ) ;

extern "C" void d3rpat

( char *cd3poi, char *cd3crd, float *rd3pos, float *rd3dir, float *rd3bor, PDMS_WORD cd3con, int *id3err ) ;

extern "C" void d3rprj

( char *cd3nam, PDMS_TEXT cd3tex, int *id3err ) ;

extern "C" void d3rprl

( char *cd3crd, float *rd3pos, int *id3err ) ;

extern "C" void d3rptx

( char *cd3att, PDMS_RPTX cd3rpt, int *id3err ) ;

extern "C" void d3rra

( char *cd3att, int *id3nin, float *rd3ra, int *id3nou, int *id3err ) ;

extern "C" void d3rrea

( char *cd3att, float *rd3rea, int *id3err ) ;

extern "C" void d3rref

( char *cd3att, PDMS_NAME cd3ref, int *id3err ) ;

extern "C" void d3rrfa

( char *cd3att, int *id3nin, PDMS_NAME cd3rfa[], int *id3nou, int *id3err ) ;

extern "C" void d3rtex

( char *cd3att, PDMS_TEXT cd3tex, int *id3err ) ;

extern "C" void d3rtyp

( PDMS_WORD cd3typ, int *id3err ) ;

extern "C" void d3ruda

( char *cd3typ, int *id3max, PDMS_UDNA cd3nms[], int *id3abv, PDMS_WORD cd3atp[], int *id3num, int *id3err ) ;

extern "C" void d3runi

( char *cd3att, PDMS_UUNI cd3unt, int *id3err ) ;

extern "C" void d3rwa

( char *cd3att, int *id3nin, PDMS_WORD cd3wa[], int *id3nou, int *id3err ) ;

extern "C" void d3rwor

( char *cd3att, PDMS_WORD cd3wor, int *id3err ) ;

extern "C" int d3uclu

( int *id3uni ) ;

/*

** cd3bef and cd3aft MUST be declared same length as cd3str

*/

extern "C" int d3ucti

( char *cd3str, int *id3int, char *cd3bef, char *cd3aft, DARS_CERR cd3err ) ;

/*

** cd3bef and cd3aft MUST be declared same length as cd3str

*/

extern "C" int d3uctr

( char *cd3str, float *rd3val, char *cd3bef, char *cd3aft, DARS_CERR cd3err ) ;

extern "C" void d3udeh

( int *id3int, PDMS_WORD cd3wor ) ;

extern "C" void d3udtm

( int *id3dat, DARS_RDAT cd3dat ) ;

extern "C" int d3ugtu

( int *id3uni ) ;

extern "C" void d3uini

( int *ready ) ;

extern "C" int d3ulds

( char *cd3dat, int *id3err ) ;

extern "C" int d3ulen

( char *cd3str ) ;

extern "C" void d3umon

( char *cd3mon ) ;

#else /* C rather than C++ */

void d3echk

( char *cd3err ) ;

void d3emsg

( int *id3err, int *ld3dis, DARS_MESS cd3msg ) ;

void d3erst

( void ) ;

void d3fend

( void ) ;

void d3fin

( int *id3err ) ;

void d3init

( char *cd3prj, char *cd3usr, char *cd3pas, char *cd3mon, char *cd3wrk, int *id3err ) ;

void d3mcdb

( char *cd3nam, int *id3pos, int *id3err ) ;

void d3mddb

( char *cd3nam, int *id3err ) ;

void d3medb

( char *cd3nm1, char *cd3nm2, int *id3err ) ;

void d3mmdb

( char *cd3mdb, char *cd3wrk, int *id3err ) ;

void d3mnam

( char *cd3nam, int *id3err ) ;

void d3mnum

( char *cd3typ, int *id3lis, int *id3err ) ;

void d3mown

( int *id3err ) ;

void d3mqdb

( int *id3pos, PDMS_DBNAME cd3nam, PDMS_WORD cd3typ, int *id3sta, int *id3err ) ;

void d3mrel

( char *cd3pos, char *cd3typ, int *id3err ) ;

void d3mrst

( int *id3err ) ;

void d3msav

( int *id3err ) ;

void d3rbdu

( PDMS_WORD cd3bun, PDMS_WORD cd3dun, int *id3err ) ;

void d3rbox

( int *ld3tub, float *rd3box, int *id3err ) ;

void d3rdat

( int *id3dat, DARS_RDAT cd3dat, int *id3err ) ;

void d3ria

( char *cd3att, int *id3nin, int *id3ia, int *id3nou, int *id3err ) ;

void d3rint

( char *cd3att, int *id3int, int *id3err ) ;

void d3rla

( char *cd3att, int *id3nin, int *ld3la, int *id3nou, int *id3err ) ;

void d3rlog

( char *cd3att, int *ld3log, int *id3err ) ;

void d3rnam

( char *cd3att, PDMS_NAME cd3nam, int *id3err ) ;

void d3rorl

( char *cd3crd, float *rd3ori, int *id3err ) ;

void d3rpat

( char *cd3poi, char *cd3crd, float *rd3pos, float *rd3dir, float *rd3bor, PDMS_WORD cd3con, int *id3err ) ;

void d3rprj

( char *cd3nam, PDMS_TEXT cd3tex, int *id3err ) ;

void d3rprl

( char *cd3crd, float *rd3pos, int *id3err ) ;

void d3rptx

( char *cd3att, PDMS_RPTX cd3rpt, int *id3err ) ;

void d3rra

( char *cd3att, int *id3nin, float *rd3ra, int *id3nou, int *id3err ) ;

void d3rrea

( char *cd3att, float *rd3rea, int *id3err ) ;

void d3rref

( char *cd3att, PDMS_NAME cd3ref, int *id3err ) ;

void d3rrfa

( char *cd3att, int *id3nin, PDMS_NAME cd3rfa[], int *id3nou, int *id3err ) ;

void d3rtex

( char *cd3att, PDMS_TEXT cd3tex, int *id3err ) ;

void d3rtyp

( PDMS_WORD cd3typ, int *id3err ) ;

void d3ruda

( char *cd3typ, int *id3max, PDMS_UDNA cd3nms[], int *id3abv, PDMS_WORD cd3atp[], int *id3num, int *id3err ) ;

void d3runi

( char *cd3att, PDMS_UUNI cd3unt, int *id3err ) ;

void d3rwa

( char *cd3att, int *id3nin, PDMS_WORD cd3wa[], int *id3nou, int *id3err ) ;

void d3rwor

( char *cd3att, PDMS_WORD cd3wor, int *id3err ) ;

int d3uclu

( int *id3uni ) ;

/*

** cd3bef and cd3aft MUST be declared same length as cd3str

*/

int d3ucti

( char *cd3str, int *id3int, char *cd3bef, char *cd3aft, DARS_CERR cd3err ) ;

/*

** cd3bef and cd3aft MUST be declared same length as cd3str

*/

int d3uctr

( char *cd3str, float *rd3val, char *cd3bef, char *cd3aft, DARS_CERR cd3err ) ;

void d3udeh

( int *id3int, PDMS_WORD cd3wor ) ;

void d3udtm

( int *id3dat, DARS_RDAT cd3dat ) ;

int d3ugtu

( int *id3uni ) ;

void d3uini

( int *ready ) ;

int d3ulds

( char *cd3dat, int *id3err ) ;

int d3ulen

( char *cd3str ) ;

void d3umon

( char *cd3mon ) ;

#endif /* __cplusplus */

#endif

pdms.h:

pdms.h is the header file that defines constants and variable types used and recommended for use in Application programs.

/*

**

pdms.h

**

**

Header file to define some system constants.

**

**

Notes:

**

**

1.  Strings are defined as being 1 more than in FORTRAN

**

to account for the C string terminator '\0'.

**

*/

#ifndef PDMSH

#define PDMSH

/* Some constants */

#define

TRUE

1

#define

FALSE

0

#define

PDMSNAMELEN

50

#define

PDMSUDNANAMELEN

13

#define

PDMSWORDLEN

6

#define

PDMSTEXTLEN

1000

#define

PDMSRPTXTEXTLEN

20

#define

PDMSUUNITEXTLEN

20

#define

DARSMESSTEXTLEN

50

#define

DARSRDATTEXTLEN

20

#define

DARSCERRTEXTLEN

3

#define

PDMSDBNAMELEN

64

typedef

char

PDMSNAME

[ PDMSNAMELEN + 1 ] ;

typedef

char

PDMSWORD

[ PDMSWORDLEN + 1 ] ;

typedef

char

PDMSTEXT

[ PDMSTEXTLEN + 1 ] ;

typedef

char

PDMSRPTX

[ PDMSRPTXTEXTLEN + 1 ] ;

typedef

char

PDMSUDNA

[ PDMSUDNANAMELEN + 1 ] ;

typedef

char

PDMSUUNI

[ PDMSUUNITEXTLEN + 1 ] ;

typedef

char

DARSMESS

[ DARSMESSTEXTLEN + 1 ] ;

typedef

char

DARSRDAT

[ DARSRDATTEXTLEN + 1 ] ;

typedef

char

DARSCERR

[ DARSCERRTEXTLEN + 1 ] ;

typedef

char

PDMSDBNAME

[ PDMSDBNAMELEN + 1 ] ;

typedef

int

LOGICAL ;

#endif

Related Links
TitleResults for “How to create a CRG?”Also Available in