Copyright Digital Equipment Corp. All rights reserved.

ATTRIBUTES

 cDEC$ ATTRIBUTES

 Lets you specify properties for data objects and procedures.  It
 takes the following form:

 cDEC$ ATTRIBUTES att [,att]... :: object [,object]...

   c        Is one of the following: C (or c), !, or *.
   
   att      Is one of the following properties:

            ADDRESS64
            ALIAS                        EXTERN
            ALLOW_NULL                   IGNORE_LOC
                                         NO_ARG_CHECK
            C                            NOMIXED_STR_LEN_ARG
            DECORATE                     REFERENCE
            DEFAULT                      REFERENCE32 
            DESCRIPTOR                   REFERENCE64 
            DESCRIPTOR32                 STDCALL
            DESCRIPTOR64                 VALUE
                                         VARYING 

   object   Is the name of a data object or procedure.

 The properties can be used in function and subroutine definitions,
 in type declarations, and with the INTERFACE and ENTRY statements.

 Properties applied to entities available through use or host
 association are in effect during the association.  For example,
 consider the following:

 MODULE MOD1
   INTERFACE
     SUBROUTINE SUB1 
     !DEC$ ATTRIBUTES C, ALIAS:'othername' :: NEW_SUB
     END SUBROUTINE
   END INTERFACE
   CONTAINS
     SUBROUTINE SUB2
     CALL NEW_SUB
     END SUBROUTINE
 END MODULE

 In this case, the call to NEW_SUB within SUB2 uses the C and ALIAS
 properties specified in the interface block.

 Options C, STDCALL, REFERENCE, VALUE, and VARYING affect the
 calling conventions of routines:

  o  You can specify C, STDCALL, REFERENCE, and VARYING for an
     entire routine.

  o  You can specify VALUE and REFERENCE for individual arguments.


 For compatibility, !MS$ATTRIBUTES can be used in place of cDEC$
 ATTRIBUTES.

 The properties are described in the following sections.

Additional information available:

ADDRESS64       ALIAS           ALLOW_NULL      C_and_STDCALL   DECORATE
DEFAULT         DESCRIPTOR      DESCRIPTOR32    DESCRIPTOR64    EXTERN
IGNORE_LOC      NO_ARG_CHECK    NOMIXED_STR_LEN_ARG
REFERENCE_and_VALUE             REFERENCE32     REFERENCE64     VARYING