Scl function: Difference between revisions

From STRIDE Wiki
Jump to navigation Jump to search
Line 5: Line 5:
== Syntax ==
== Syntax ==


  #pragma scl_function(function-name)
  #pragma scl_function(function-name [,<intercept>])
 


{| border="1" cellspacing="0" cellpadding="10" style="align:left;"   
{| border="1" cellspacing="0" cellpadding="10" style="align:left;"   
Line 15: Line 16:
| String
| String
| Name of the function to define (no quotes)
| Name of the function to define (no quotes)
|-
| ''context''
| String
| Context in which the function is going to be intercepted.
|-
| ''name-mangling''
| String
| Type of [[Name_Mangling_Conflicts|name mangling]] to be used when intercepted.
|-
| ''group-id''
| String
| User defined identifier representing the group to which this function belongs when solving name mangling conflicts.
|}
|}



Revision as of 23:06, 19 March 2009

The scl_function pragma

The scl_function pragma allows the user to capture the function. All interfaces that STRIDE works with must be captured.

Syntax

#pragma scl_function(function-name [,<intercept>])


Parameters Type Description
function-name String Name of the function to define (no quotes)
context String Context in which the function is going to be intercepted.
name-mangling String Type of name mangling to be used when intercepted.
group-id String User defined identifier representing the group to which this function belongs when solving name mangling conflicts.

Notes

  • Identifier must be declared as a function designator with external linkage.
  • A compilation error is reported if an attempt is made to capture a function more than once (with either scl_func or scl_function).

Example

int f(int x); 

#pragma scl_function(f)