# Structs And Enums The following is a list of the various structs and enums that are used by the different SimConnect functions for transmitting data. For a list of the functions that use these, please see the [SimConnect API Reference](../../simconnect-api-reference/).   {{< table-wrapper >}} | Name | Structure or Enumeration | Description | |--------------------------------------------------------------------------------------|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `SIMCONNECT_CAMERA_AVAILABILITY` | Enum | Used by various camera functions to define the add-on camera availability. | | `SIMCONNECT_CAMERA_DATA_MASK` | Enum | Used as part of the `SimConnect_CameraSet` function call to define what parts of the camera struct are set. | | `SIMCONNECT_CAMERA_DEFINITION_ITEM` | Struct | Used as part of the contents of the `SIMCONNECT_RECV_CAMERA_DEFINITION_LIST` to return a single camera name. | | `SIMCONNECT_CAMERA_FLAG` | Enum | Used by the camera functions to get/set flags in a bitmask for the add-on camera options. | | `SIMCONNECT_CLIENT_DATA_PERIOD` | Enum | Used with the `SimConnect_RequestClientData` call to specify how often data is to be sent to the client. | | `SIMCONNECT_CONTROLLER_ITEM` | Struct | A struct containing information for a single connected controller. Returned as part of the `SIMCONNECT_RECV_CONTROLLERS_LIST` list. | | `SIMCONNECT_DATA_CAMERA` | Struct | Used to return information about the current camera as part of the `SIMCONNECT_RECV_CAMERA_DATA` struct. | | `SIMCONNECT_DATA_FACILITY_AIRPORT` | Struct | Used to return information on a single airport in the facilities cache. | | `SIMCONNECT_DATA_FACILITY_NDB` | Struct | Used to return information on a single [NDB](../../simconnect-api-reference/#) station in the facilities cache. | | `SIMCONNECT_DATA_FACILITY_VOR` | Struct | Used to return information on a single [VOR](../../simconnect-api-reference/#) station in the facilities cache. | | `SIMCONNECT_DATA_FACILITY_WAYPOINT` | Struct | Used to return information on a single waypoint in the facilities cache. | | `SIMCONNECT_DATA_INITPOSITION` | Struct | Used to initialize the position of a the user or AI controlled aircraft. | | `SIMCONNECT_DATA_LATLONALT` | Struct | Used to hold a world position. | | `SIMCONNECT_DATA_MARKERSTATE` | Struct | Used to help graphically link flight model data with the graphics model. | | `SIMCONNECT_DATA_PBH` | Struct | Used to hold a world orientation. | | `SIMCONNECT_DATA_RACE_RESULT` | Struct | This is used to hold multiplayer racing results. | | `SIMCONNECT_DATA_WAYPOINT` | Struct | Used to hold all the necessary information on a waypoint. | | `SIMCONNECT_DATA_XYZ` | Struct | Used to hold a 3D co-ordinate. | | `SIMCONNECT_DATATYPE` | Enum | Used with the `SimConnect_AddToDataDefinition` call to specify the data type that the server should use to return the specified data to the client. | | `SIMCONNECT_ENUMERATE_SIMOBJECT_LIVERY` | Struct | Contains data about a single aircraft (and it's liveries) as part of the return for the function `SimConnect_EnumerateSimObjectsAndLiveries`. | | `SIMCONNECT_EXCEPTION` | Enum | Used with the `SIMCONNECT_RECV_EXCEPTION` structure to return information on an error that has occurred. | | `SIMCONNECT_FACILITY_DATA_TYPE` | Enum | Used with the `SIMCONNECT_RECV_FACILITY_DATA` structure to give the type of data that is being received. | | `SIMCONNECT_FACILITY_LIST_TYPE` | Enum | Used to determine which type of facilities data is being requested or returned. | | `SIMCONNECT_FACILITY_MINIMAL` | Struct | Used to receive a minimal amount of information from facilities. | | `SIMCONNECT_ICAO` | Struct | Returned as part of the data within the `SIMCONNECT_RECV_FACILITIES_MINIMAL` structure. | | `SIMCONNECT_INPUT_EVENT_DESCRIPTOR` | Struct | Contains an item of data for a specific input event, received as part of the return for the `SimConnect_EnumerateInputEvents` function. | | `SIMCONNECT_INPUT_EVENT_TYPE` | Enum | Used with the `SimConnect_GetInputEvent` function to specify the data type used. | | `SIMCONNECT_JETWAY_DATA` | Struct | Returned as part of the data within the `SIMCONNECT_RECV_JETWAY_DATA` structure. | | `SIMCONNECT_MISSION_END` | Enum | Used to specify the three possible outcomes of a mission. | | `SIMCONNECT_PERIOD` | Enum | Used with the `SimConnect_RequestDataOnSimObject` call to specify how often data is to be sent to the client. | | `SIMCONNECT_POSITION_REFERENTIAL` | Enum | Used to specify what reference to use for the camera position values in the `SIMCONNECT_DATA_CAMERA` struct. | | `SIMCONNECT_RECV` | Struct | Used with the `SIMCONNECT_RECV_ID` enumeration to indicate which type of structure has been returned. | | `SIMCONNECT_RECV_AIRPORT_LIST` | Struct | Used to return a list of `SIMCONNECT_DATA_FACILITY_AIRPORT` structures. | | `SIMCONNECT_RECV_ASSIGNED_OBJECT_ID` | Struct | Used to return an object ID that matches a request ID. | | `SIMCONNECT_RECV_CAMERA_DEFINITION_LIST` | Struct | Used to return a struct, with an array of `SIMCONNECT_CAMERA_DEFINITION_ITEM` structs generated by the function `SimConnect_EnumerateCameraDefinitions`. | | `SIMCONNECT_RECV_CAMERA_STATUS` | Struct | Used to return information about the current camera when the function `SimConnect_CameraGet` is used. | | `SIMCONNECT_RECV_CAMERA_STATUS` | Struct | Used to return the status of the current camera when the function `SimConnect_CameraGetStatus` is used. | | `SIMCONNECT_RECV_CLIENT_DATA` | Struct | Will be received by the client after a successful call to `SimConnect_RequestClientData`. The structure is identical to `SIMCONNECT_RECV_SIMOBJECT_DATA`. | | `SIMCONNECT_RECV_COMM_BUS` | Struct | Will be received by the client after a communication event - subscribed to with `SimConnect_SubscribeToCommBusEvent` - has been received. | | `SIMCONNECT_RECV_CONTROLLERS_LIST` | Struct | Will be received by the client after a successful call to `SimConnect_EnumerateControllers`, and will contain a list of `SIMCONNECT_CONTROLLER_ITEM` structs - one for each connected control device. | | `SIMCONNECT_RECV_ENUMERATE_INPUT_EVENT_PARAMS` | Struct | This is a response to the `SimConnect_EnumerateInputEventParams` function. | | `SIMCONNECT_RECV_ENUMERATE_INPUT_EVENTS` | Struct | This struct is returned as part of the response to the `SimConnect_EnumerateInputEvents` function. | | `SIMCONNECT_RECV_ENUMERATE_SIMOBJECT_AND_LIVERY_LIST` | Struct | Contains data about aircraft (and their liveries) as part of the return for the function `SimConnect_EnumerateSimObjectsAndLiveries`. | | `SIMCONNECT_RECV_EVENT` | Struct | Used to return an event ID to the client along with a single parameter. | | `SIMCONNECT_RECV_EVENT_EX1` | Struct | Used to return an event ID to the client along with up to five parameters. | | `SIMCONNECT_RECV_EVENT_FILENAME` | Struct | Used with the `SimConnect_SubscribeToSystemEvent` to return a filename and an event ID to the client. | | `SIMCONNECT_RECV_EVENT_FRAME` | Struct | Used with the `SimConnect_SubscribeToSystemEvent` to return the frame rate and simulation speed to the client. | | `SIMCONNECT_RECV_EVENT_MULTIPLAYER_CLIENT_STARTED` | Struct | This is sent to a client when they have successfully joined a multi-player race. | | `SIMCONNECT_RECV_EVENT_MULTIPLAYER_SERVER_STARTED` | Struct | This is sent to the host when the session is visible to other users in the lobby. | | `SIMCONNECT_RECV_EVENT_MULTIPLAYER_SESSION_ENDED` | Struct | This is sent to a client when they have requested to leave a race, or to all players when the session is terminated by the host. | | `SIMCONNECT_RECV_EVENT_OBJECT_ADDREMOVE` | Struct | Used to return the type and ID of an AI object that has been added or removed from the simulation, by any client. | | `SIMCONNECT_RECV_EVENT_RACE_END` | Struct | This is used in multi-player racing to hold the results for one player at the end of a race. | | `SIMCONNECT_RECV_EVENT_RACE_LAP` | Struct | This is used in multi-player racing to hold the results for one player at the end of a lap. | | `SIMCONNECT_RECV_EXCEPTION` | Struct | Used with the `SIMCONNECT_EXCEPTION` enumeration type to return information on an error that has occurred. | | `SIMCONNECT_RECV_FACILITIES_LIST` | Struct | Used to provide information on the number of elements in a list of facilities returned to the client, and the number of packets that were used to transmit the data. | | `SIMCONNECT_RECV_FACILITY_DATA` | Struct | Used to provide information that has been requested from the server using the `SimConnect_RequestFacilityData` function. | | `SIMCONNECT_RECV_FACILITY_DATA_END` | Struct | Used to signify the end of a data stream from the server after a call to `SimConnect_RequestFacilityData`. | | `SIMCONNECT_RECV_FACILITY_MINIMAL_LIST` | Struct | Used to provide minimal information on the number of elements in a list of facilities returned to the client, and the number of packets that were used to transmit the data. | | `SIMCONNECT_RECV_GET_INPUT_EVENT` | Struct | This struct will returned after a call to the `SimConnect_GetInputEvent` function. | | `SIMCONNECT_RECV_ID` | Enum | Used within the `SIMCONNECT_RECV` structure to indicate which type of structure has been returned. | | `SIMCONNECT_RECV_JETWAY_DATA` | Struct | Returned by the [SimConnect\_RequestJetwayData](../facilities/simconnect-requestjetwaydata/) and contains data relating to one or more jetways. | | `SIMCONNECT_RECV_LIST_TEMPLATE` | Struct | Used to provide information on the number of elements in a list returned to the client, and the number of packets that were used to transmit the data. | | `SIMCONNECT_RECV_NDB_LIST` | Struct | Used to return a list of `SIMCONNECT_DATA_FACILITY_NDB` structures. | | `SIMCONNECT_RECV_OPEN` | Struct | Used to return information to the client, after a successful call to `SimConnect_Open`. | | `SIMCONNECT_RECV_QUIT` | Struct | This is an identical structure to the `SIMCONNECT_RECV` structure. | | `SIMCONNECT_RECV_RESERVED_KEY` | Struct | Used with the `SimConnect_RequestReservedKey` function to return the reserved key combination. | | `SIMCONNECT_RECV_SIMOBJECT_DATA` | Struct | Will be received by the client after a successful call to `SimConnect_RequestDataOnSimObject` or `SimConnect_RequestDataOnSimObjectType`. | | `SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE` | Struct | Will be received by the client after a successful call to `SimConnect_RequestDataOnSimObjectType`. The structure is identical to `SIMCONNECT_RECV_SIMOBJECT_DATA`. | | `SIMCONNECT_RECV_SUBSCRIBE_INPUT_EVENT` | Struct | This struct will be returned by the `SimConnect_SubscribeInputEvent` function. | | `SIMCONNECT_RECV_SYSTEM_STATE` | Struct | Used with the `SimConnect_RequestSystemState` function to retrieve specific Flight Simulator systems states and information. | | `SIMCONNECT_RECV_VOR_LIST` | Struct | Used to return a list of `SIMCONNECT_DATA_FACILITY_VOR` structures. | | `SIMCONNECT_RECV_WAYPOINT_LIST` | Struct | Used to return a list of `SIMCONNECT_DATA_FACILITY_WAYPOINT` structures. | | `SIMCONNECT_SIMOBJECT_TYPE` | Enum | Used with the `SimConnect_RequestDataOnSimObjectType` call to request information on specific or nearby objects. | | `SIMCONNECT_STATE` | Enum | Used with the `SimConnect_SetSystemEventState` call to turn the reporting of events on and off. | | `SIMCONNECT_VERSION_BASE_TYPE` | Struct | The hardware version information. Returned as part of the `SIMCONNECT_CONTROLLER_ITEM` struct. | | `SIMCONNECT_WAYPOINT_FLAGS` | Enum | Used with the `SIMCONNECT_DATA_WAYPOINT` structure to define waypoints. | {{< /table-wrapper >}}