30 #ifndef __CCP4_FORTRAN 31 #define __CCP4_FORTRAN 36 #ifdef CALL_LIKE_STARDENT 39 DefineStructure(SStrPar)
47 #define _LVTOB(l) ((long) ((l) == 0 ? 0 : 1)) 48 #define _BTOLV(l) ((int) ((l) == 0 ? 0 : 1)) 49 #if defined (__OSF1__) || defined (__osf__) 51 #define _BTOLV(l) ((int) ((l) == 0 ? 0 : -1)) 174 #if defined(CALL_LIKE_SUN) 179 #define FTN_LEN(s) s##_len 181 #define char_struct(s) \ 184 #define fill_char_struct(s,str) \ 186 s##_len = strlen(str); 187 #define init_char_struct(s,str,size) \ 191 #define FORTRAN_SUBR(NAME,name,p_sun,p_stardent,p_mvs) \ 193 #define FORTRAN_CALL(NAME,name,p_sun,p_stardent,p_mvs) \ 195 #define FORTRAN_FUN(val,NAME,name,p_sun,p_stardent,p_mvs) \ 197 #elif defined(CALL_LIKE_HPUX) 201 # define FTN_STR(s) s 202 # define FTN_LEN(s) s##_len 204 # define char_struct(s) \ 207 # define fill_char_struct(s,str) \ 209 s##_len = strlen(str); 210 # define init_char_struct(s,str,size) \ 214 # define FORTRAN_SUBR(NAME,name,p_sun,p_stardent,p_mvs) \ 216 # define FORTRAN_CALL(NAME,name,p_sun,p_stardent,p_mvs) \ 218 # define FORTRAN_FUN(val,NAME,name,p_sun,p_stardent,p_mvs) \ 220 #elif defined(CALL_LIKE_STARDENT) 222 typedef PStrPar
fpstr;
224 # define FTN_STR(s) s->Str_pointer 225 # define FTN_LEN(s) s->Str_length 227 # define char_struct(s) \ 229 # define fill_char_struct(s,str) \ 231 s.len = strlen(FName); \ 233 # define init_char_struct(s,str,size) \ 238 # define FORTRAN_SUBR(NAME,name,p_send,p_sstruct,p_sflw) \ 240 # define FORTRAN_CALL(NAME,name,p_send,p_sstruct,p_sflw) \ 242 # define FORTRAN_FUN(val,NAME,name,p_send,p_sstruct,p_sflw) \ 245 #elif defined(CALL_LIKE_VMS) 247 typedef dsc$descriptor_s *
fpstr;
249 # define FTN_STR(s) s->dsc$a_pointer; 250 # define FTN_LEN(s) s->dsc$w_length; 252 # define char_struct(s) \ 254 # define fill_char_struct(s,str) \ 255 s.dsc$a_pointer = str; \ 256 s.dsc$w_length = strlen(str); \ 257 s.dsc$b_dtype = DSC$K_DTYPE_T; \ 258 s.dsc$b_class = DSC$K_CLASS_S; 259 # define init_char_struct(s,str,size) \ 260 s.dsc$a_pointer = str; \ 261 s.dsc$w_length = size; \ 262 s.dsc$b_dtype = DSC$K_DTYPE_T; \ 263 s.dsc$b_class = DSC$K_CLASS_S; 265 # define FORTRAN_SUBR(NAME,name,p_sun,p_stardent,p_mvs) \ 267 # define FORTRAN_CALL(NAME,name,p_sun,p_stardent,p_mvs) \ 269 # define FORTRAN_FUN(val,NAME,name,p_sun,p_stardent,p_mvs) \ 272 #elif defined(CALL_LIKE_MVS) 274 #if (CALL_LIKE_MVS == 2) 279 #define FTN_LEN(s) s##_len 281 #define char_struct(s) \ 284 #define fill_char_struct(s,str) \ 286 s##_len = strlen(str); 287 #define init_char_struct(s,str,size) \ 291 #define FORTRAN_SUBR(NAME,name,p_sun,p_stardent,p_mvs) \ 293 #define FORTRAN_CALL(NAME,name,p_sun,p_stardent,p_mvs) \ 295 #define FORTRAN_FUN(val,NAME,name,p_sun,p_stardent,p_mvs) \ 302 # define FTN_STR(s) s 303 # define FTN_LEN(s) s##_len 305 # define char_struct(s) \ 308 # define fill_char_struct(s,str) \ 310 s##_len = strlen(str); 311 # define init_char_struct(s,str,size) \ 315 # define FORTRAN_SUBR(NAME,name,p_sun,p_stardent,p_mvs) \ 316 void __stdcall NAME p_mvs 317 # define FORTRAN_CALL(NAME,name,p_sun,p_stardent,p_mvs) \ 319 # define FORTRAN_FUN(val,NAME,name,p_sun,p_stardent,p_mvs) \ 320 val __stdcall NAME p_mvs 326 # error Unknown machine!!! 330 # define FTN_STR(s) s 331 # define FTN_LEN(s) s##_len 333 # define char_struct(s) \ 336 # define fill_char_struct(s,str) \ 338 s##_len = strlen(str); 339 # define init_char_struct(s,str,size) \ 351 # define FORTRAN_SUBR(NAME,name,p_sun,p_stardent,p_mvs) \ 361 # define FORTRAN_CALL(NAME,name,p_sun,p_stardent,p_mvs) \ 373 # define FORTRAN_FUN(val,NAME,name,p_sun,p_stardent,p_mvs) \ 379 typedef unsigned int ftn_logical;
380 #if defined (KNOWN_MACHINE) 381 # define FORTRAN_LOGICAL_TRUE 1 382 # define FORTRAN_LOGICAL_FALSE 0 384 #if defined (__OSF1__) || defined (__osf__) 385 # undef FORTRAN_LOGICAL_TRUE 386 # define FORTRAN_LOGICAL_TRUE -1 Header file containing various commonly used type definitions and some useful macros.
pstr fpstr
Definition: ccp4_fortran.h:328
void ccp4_CtoFString(fpstr str1, int str1_len, const char *cstring)
Definition: library_f.c:71
char * ccp4_FtoCString(fpstr str1, int str1_len)
Definition: library_f.c:50