Computer Laboratory

tesla.h File Reference
#include <sys/types.h>
+ Include dependency graph for tesla.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  __tesla_event
 The basic TESLA type is a pointer to a TESLA Basic TESLA types (magic for the compiler to munge). More...
 
struct  __tesla_locality
 

Macros

#define __tesla_any(type)   __tesla_any_##type()
 
#define __tesla_struct_usage(subject, automaton, loc, start, end)
 Declare that a struct's behaviour is described by an automaton. More...
 
#define __tesla_automaton(name,...)   struct __tesla_automaton_description* name(__VA_ARGS__)
 Define an automaton to describe a struct's behaviour. More...
 

Typedefs

typedef struct __tesla_event __tesla_event
 The basic TESLA type is a pointer to a TESLA Basic TESLA types (magic for the compiler to munge). More...
 
typedef struct __tesla_locality __tesla_locality
 
typedef int __tesla_count
 A number of times to match an event: positive or "any number". More...
 

Functions

void __tesla_inline_assertion (const char *filename, int line, int count, __tesla_locality *loc,...)
 Magic "function" representing a TESLA assertion. More...
 
struct __tesla_event__tesla_sequence (__tesla_event *,...)
 A sequence of TESLA events. More...
 
struct __tesla_event__tesla_call (void *,...)
 Entering a function (with optionally-specified arguments). More...
 
struct __tesla_event__tesla_return (void *,...)
 Exiting a function (with optionally-specified arguments). More...
 
struct __tesla_event__tesla_callee (__tesla_event *,...)
 Function events inside this predicate refer to the callee context. More...
 
struct __tesla_event__tesla_caller (__tesla_event *,...)
 Function events inside this predicate refer to the caller context. More...
 
int __tesla_flags (int)
 A mask of flags we expect to see. More...
 
int __tesla_mask (int)
 A bitmask that an argument must not exceed. More...
 
struct __tesla_event__tesla_strict (__tesla_event *,...)
 Events named in this predicate should only occur exactly as described. More...
 
struct __tesla_event__tesla_conditional (__tesla_event *,...)
 Events named in this predicate must occur as described if the execution trace includes a NOW event; otherwise, any number of non-NOW events can occur in any order. More...
 
struct __tesla_event__tesla_optional (__tesla_event *,...)
 
void * __tesla_any_ptr ()
 A value that could match a lot of function parameters. More...
 
int __tesla_any_int ()
 
long __tesla_any_long ()
 
long long __tesla_any_longlong ()
 
register_t __tesla_any_register_t ()
 
struct
__tesla_automaton_description * 
__tesla_automaton_done ()
 In an explicit automata description, return this to say "we're done". More...
 
struct __tesla_automaton_usage * __tesla_struct_uses_automaton (const char *automaton, __tesla_locality *loc,...)
 

Variables

__tesla_locality__tesla_global
 TESLA events can be serialised either with respect to the current thread or, using explicit synchronisation, the global execution context. More...
 
__tesla_locality__tesla_perthread
 
struct __tesla_event__tesla_ignore
 Nothing to see here, move along... More...
 
struct __tesla_event__tesla_now
 Reaching the inline assertion. More...