reactor-c 1.0
C Runtime for Lingua Franca
Loading...
Searching...
No Matches
lf_types.h File Reference

Type definitions that are widely used across different parts of the runtime. More...

#include <stdbool.h>
#include "modal_models/modes.h"
#include "utils/pqueue.h"
#include "utils/pqueue_tag.h"
#include "lf_token.h"
#include "tag.h"
#include "vector.h"

Go to the source code of this file.

Data Structures

struct  allocation_record_t
 Allocation record to keep track of dynamically-allocated memory. More...
struct  event_t
 Event activation record to push onto the event queue. More...
struct  lf_action_base_t
 Base type for actions. More...
struct  lf_action_internal_t
 Internal part of the action structs. More...
struct  lf_port_internal_t
 Internal part of the port structs. More...
struct  lf_tag_advancement_barrier_t
 A struct representing a barrier in threaded LF programs. More...
struct  reaction_t
 Reaction activation record to push onto the reaction queue. More...
struct  self_base_t
 The base type for all reactor self structs. More...
struct  trigger_t
 Trigger struct representing an output, timer, action, or input. More...

Macros

#define SCHED_ADAPTIVE   1
 Experimental adaptive scheduler.
#define SCHED_GEDF_NP   2
 Experimental GEDF-NP scheduler.
#define SCHED_NP   3
 Default non-preemptive scheduler.

Typedefs

typedef struct allocation_record_t allocation_record_t
 Allocation record to keep track of dynamically-allocated memory.
typedef struct event_t event_t
 Event activation record for storing event queue entries.
typedef pqueue_pri_t index_t
 Topological order index for reactions.
typedef struct lf_tag_advancement_barrier_t lf_tag_advancement_barrier_t
 A struct representing a barrier in threaded LF programs.
typedef void(* reaction_function_t) (void *)
 Reaction function type.
typedef struct reaction_t reaction_t
typedef struct self_base_t self_base_t
 The base type for all reactor self structs.
typedef char * string
 String type so that we don't have to use {= char* =}.
typedef int trigger_handle_t
 Handles for scheduled triggers.
typedef struct trigger_t trigger_t
typedef unsigned short int ushort
 Unsigned short type.

Enumerations

enum  lf_spacing_policy_t { defer , drop , replace , update }
 Policy for handling scheduled events that violate the specified minimum interarrival time. More...
enum  port_status_t { absent = false , present = true , unknown }
 Status of a given port at a given logical time. More...
enum  reaction_status_t { inactive = 0 , queued , running }
 Status of a given reaction at a given logical time. More...

Detailed Description

Type definitions that are widely used across different parts of the runtime.

Author
Edward A. Lee
Marten Lohstroh
Chris Gill
Mehrdad Niknami

IMPORTANT: Many of the structs defined here require matching layouts and, if changed, will require changes in the code generator.

Typedef Documentation

◆ reaction_t

typedef struct reaction_t reaction_t

◆ trigger_t

typedef struct trigger_t trigger_t