Macro: CMSG

Module location: FMAC line 454 (view source)

With the name mangling code, we need a way to define external C messages. The CMSG command does just that. It uses the #FGEN command to parse over a special syntax that defines a prototype in this form: Example: CMSG I GET_AUX_VALUE |CI$31 I This generates in !? a name GET_AUX_VALUE@I if we mangle on the parameter list types This generates in !? a name GET_AUX_VALUE@I@I if we mangle on the parameter list and return type This generates in !? a name GET_AUX_VALUE@1 if we mangle on the number of the parameters CMSG V GET_FOO |CI$099 V Returns GET_FOO_# and receives a variable argument list. #IFDEF MANGLE_NAMES

    #IFNDEF !2
      #REPLACE !2 !3
    #ENDIF