///////////////////////////////////////////////////////////////////// // // // file: autoGen_PortClass_CCA.h // // // ///////////////////////////////////////////////////////////////////// // // // Copyright (c) 2026 Acroname Inc. - All Rights Reserved // // // // This file is part of the BrainStem release. See the license.txt // // file included with this package or go to // // https://acroname.com/software/brainstem-development-kit // // for full license details. // ///////////////////////////////////////////////////////////////////// #ifndef __AUTOGEN_PORT_CCA_H__ #define __AUTOGEN_PORT_CCA_H__ // This file was auto-generated. Do not modify. #include "CCA_Core.h" #ifdef __GNUC__ #define DEPRECATED(...) __attribute__((deprecated(__VA_ARGS__))) #elif defined(_MSC_VER) #define DEPRECATED(...) __declspec(deprecated(__VA_ARGS__)) #else #define DEPRECATED(...) #pragma message("DEPRECATED is not defined for this compiler") #endif /// \defgroup PortEntity Port Entity /// The Port Entity provides software control over the most basic items related to a USB Port. /// This includes everything from the complete enable and disable of the entire port to the /// individual control of specific pins. /// Voltage and Current measurements are also included for devices which support the Port /// Entity. /// #ifdef __cplusplus extern "C" { #endif /// Gets the Vbus Voltage /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The voltage in microvolts (1 == 1e-6V) currently present on Vbus. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVbusVoltage(unsigned int* id, struct Result* result, const int index); /// Gets the Vbus Current /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The current in microamps (1 == 1e-6A) currently present on Vbus. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVbusCurrent(unsigned int* id, struct Result* result, const int index); /// Gets the Vconn Voltage /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The voltage in microvolts (1 == 1e-6V) currently present on Vconn. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVconnVoltage(unsigned int* id, struct Result* result, const int index); /// Gets the Vconn Current /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The current in microamps (1 == 1e-6A) currently present on Vconn. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVconnCurrent(unsigned int* id, struct Result* result, const int index); /// Gets the Port Power Mode: Convenience Function of get/setPortMode /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The current power mode. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getPowerMode(unsigned int* id, struct Result* result, const int index); /// Sets the Port Power Mode: Convenience Function of get/setPortMode /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param powerMode The power mode to be set. /// aLIBEXPORT void __stdcall port_setPowerMode(unsigned int* id, struct Result* result, const int index, const unsigned char powerMode); /// Gets the current enable value of the port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Fully enabled port; 0 = One or more disabled components. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getEnabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the entire port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Fully enable port; 0 = Fully disable port. /// aLIBEXPORT void __stdcall port_setEnabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the data lines. /// Sub-component (Data) of getEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Data enabled; 0 = Data disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataEnabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the data lines. /// Sub-component (Data) of setEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable data; 0 = Disable data. /// aLIBEXPORT void __stdcall port_setDataEnabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the High Speed (HS) data lines. /// Sub-component of getDataEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Data enabled; 0 = Data disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataHSEnabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the High Speed (HS) data lines. /// Sub-component of setDataEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable data; 0 = Disable data. /// aLIBEXPORT void __stdcall port_setDataHSEnabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the High Speed A side (HSA) data lines. /// Sub-component of getDataHSEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Data enabled; 0 = Data disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataHS1Enabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the High Speed A side (HSA) data lines. /// Sub-component of setDataHSEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable data; 0 = Disable data. /// aLIBEXPORT void __stdcall port_setDataHS1Enabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the High Speed B side (HSB) data lines. /// Sub-component of getDataHSEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Data enabled; 0 = Data disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataHS2Enabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the High Speed B side (HSB) data lines. /// Sub-component of setDataHSEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable data; 0 = Disable data. /// aLIBEXPORT void __stdcall port_setDataHS2Enabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the Super Speed (SS) data lines. /// Sub-component of getDataEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Data enabled; 0 = Data disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataSSEnabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the Super Speed (SS) data lines. /// Sub-component of setDataEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable data; 0 = Disable data. /// aLIBEXPORT void __stdcall port_setDataSSEnabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the Super Speed A side (SSA) data lines. /// Sub-component of getDataSSEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Data enabled; 0 = Data disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataSS1Enabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the Super Speed A side (SSA) data lines. /// Sub-component of setDataEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable data; 0 = Disable data. /// aLIBEXPORT void __stdcall port_setDataSS1Enabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the Super Speed B side (SSB) data lines. /// Sub-component of getDataSSEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Data enabled; 0 = Data disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataSS2Enabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the Super Speed B side (SSB) data lines. /// Sub-component of setDataSSEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable data; 0 = Disable data. /// aLIBEXPORT void __stdcall port_setDataSS2Enabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the power lines. Sub-component (Power) of getEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Power enabled; 0 = Power disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getPowerEnabled(unsigned int* id, struct Result* result, const int index); /// Enables or Disables the power lines. Sub-component (Power) of setEnable. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable power; 0 = Disable disable. /// aLIBEXPORT void __stdcall port_setPowerEnabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the Port Data Role. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The data role to be set. See datasheet for details. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataRole(unsigned int* id, struct Result* result, const int index); /// Gets the current enable value of the Vconn lines. /// Sub-component (Vconn) of getEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Vconn enabled; 0 = Vconn disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVconnEnabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the Vconn lines. /// Sub-component (Vconn) of setEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable Vconn lines; 0 = Disable Vconn lines. /// aLIBEXPORT void __stdcall port_setVconnEnabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the Vconn1 lines. /// Sub-component of getVconnEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Vconn1 enabled; 0 = Vconn1 disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVconn1Enabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the Vconn1 lines. /// Sub-component of setVconnEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable Vconn1 lines; 0 = Disable Vconn1 lines. /// aLIBEXPORT void __stdcall port_setVconn1Enabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the Vconn2 lines. /// Sub-component of getVconnEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = Vconn2 enabled; 0 = Vconn2 disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVconn2Enabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the Vconn2 lines. /// Sub-component of setVconnEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable Vconn2 lines; 0 = Disable Vconn2 lines. /// aLIBEXPORT void __stdcall port_setVconn2Enabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the CC lines. /// Sub-component (CC) of getEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = CC enabled; 0 = CC disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCCEnabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the CC lines. /// Sub-component (CC) of setEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable CC lines; 0 = Disable CC lines. /// aLIBEXPORT void __stdcall port_setCCEnabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the CC1 lines. /// Sub-component of getCCEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = CC1 enabled; 0 = CC1 disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC1Enabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the CC1 lines. /// Sub-component of setCCEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable CC1 lines; 0 = Disable CC1 lines. /// aLIBEXPORT void __stdcall port_setCC1Enabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current enable value of the CC2 lines. /// Sub-component of getCCEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: 1 = CC2 enabled; 0 = CC2 disabled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC2Enabled(unsigned int* id, struct Result* result, const int index); /// Enables or disables the CC2 lines. /// Sub-component of setCCEnabled. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param enable 1 = Enable CC2 lines; 0 = Disable CC2 lines. /// aLIBEXPORT void __stdcall port_setCC2Enabled(unsigned int* id, struct Result* result, const int index, const unsigned char enable); /// Gets the current voltage setpoint value for the port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: the voltage setpoint of the port in uV. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVoltageSetpoint(unsigned int* id, struct Result* result, const int index); /// Sets the current voltage setpoint value for the port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param value the voltage setpoint of the port in uV. /// aLIBEXPORT void __stdcall port_setVoltageSetpoint(unsigned int* id, struct Result* result, const int index, const unsigned int value); /// A bit mapped representation of the current state of the port. /// Reflects what he port IS which may differ from what was requested. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with the current state. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getState(unsigned int* id, struct Result* result, const int index); /// Gets the speed of the enumerated device. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Bit mapped value representing the devices speed. /// See "Devices" reference for details. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataSpeed(unsigned int* id, struct Result* result, const int index); /// Gets current mode of the port /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Bit mapped value representing the ports mode. /// See "Devices" reference for details. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getMode(unsigned int* id, struct Result* result, const int index); /// Sets the mode of the port /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param mode Port mode to be set. See "Devices" documentation for details. /// aLIBEXPORT void __stdcall port_setMode(unsigned int* id, struct Result* result, const int index, const unsigned int mode); /// Returns any errors that are present on the port. /// Calling this function will clear the current errors. If the error persists it will be set /// again. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Bit mapped field representing the current errors of the ports /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getErrors(unsigned int* id, struct Result* result, const int index); /// Gets the current limit of the port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with the limit in microAmps (uA). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCurrentLimit(unsigned int* id, struct Result* result, const int index); /// Sets the current limit of the port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param limit Current limit to be applied in microAmps (uA). /// aLIBEXPORT void __stdcall port_setCurrentLimit(unsigned int* id, struct Result* result, const int index, const unsigned int limit); /// Gets the current limit mode. /// The mode determines how the port will react to an over current condition. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with an enumerated representation of the current limit /// mode. /// Available modes are product specific. See the reference documentation. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCurrentLimitMode(unsigned int* id, struct Result* result, const int index); /// Sets the current limit mode. /// The mode determines how the port will react to an over current condition. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param mode An enumerated representation of the current limit mode. /// Available modes are product specific. See the reference documentation. /// aLIBEXPORT void __stdcall port_setCurrentLimitMode(unsigned int* id, struct Result* result, const int index, const unsigned char mode); /// Gets the current available power. /// This value is determined by the power manager which is responsible for budgeting the /// systems available power envelope. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with the available power in milli-watts (mW). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getAvailablePower(unsigned int* id, struct Result* result, const int index); /// Gets the currently allocated power /// This value is determined by the power manager which is responsible for budgeting the /// systems available power envelope. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with the allocated power in milli-watts (mW). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getAllocatedPower(unsigned int* id, struct Result* result, const int index); /// Gets the user defined power limit for the port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with the power limit in milli-watts (mW). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getPowerLimit(unsigned int* id, struct Result* result, const int index); /// Sets a user defined power limit for the port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param limit Power limit to be applied in milli-watts (mW). /// aLIBEXPORT void __stdcall port_setPowerLimit(unsigned int* id, struct Result* result, const int index, const unsigned int limit); /// Gets the power limit mode. /// The mode determines how the port will react to an over power condition. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with an enumerated representation of the power limit /// mode. /// Available modes are product specific. See the reference documentation. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getPowerLimitMode(unsigned int* id, struct Result* result, const int index); /// Sets the power limit mode. /// The mode determines how the port will react to an over power condition. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param mode An enumerated representation of the power limit mode to be applied /// Available modes are product specific. See the reference documentation. /// aLIBEXPORT void __stdcall port_setPowerLimitMode(unsigned int* id, struct Result* result, const int index, const unsigned char mode); /// Gets a user defined name of the port. /// Helpful for identifying ports/devices in a static environment. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Length that was actually received and filled. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// \param buffer pointer to the start of a c style buffer to be filled /// \param bufferLength Length of the buffer to be filed /// aLIBEXPORT void __stdcall port_getName(unsigned int* id, struct Result* result, const int index, unsigned char* buffer, const unsigned int bufferLength); /// Sets a user defined name of the port. /// Helpful for identifying ports/devices in a static environment. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param buffer Pointer to the start of a c style buffer to be transferred. /// \param bufferLength Length of the buffer to be transferred. /// aLIBEXPORT void __stdcall port_setName(unsigned int* id, struct Result* result, const int index, const unsigned char* buffer, const unsigned int bufferLength); /// Gets the CC Current Limit Resistance /// The CC Current limit is the value that's set for the pull up resistance on the CC lines /// for basic USB-C negotations. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with an enumerated representation of the CC Current /// limit. /// \li 0 = None /// \li 1 = Default (500/900mA) /// \li 2 = 1.5A /// \li 3 = 3.0A /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCCCurrentLimit(unsigned int* id, struct Result* result, const int index); /// Sets the CC Current Limit Resistance /// The CC Current limit is the value that's set for the pull up resistance on the CC lines /// for basic USB-C negotations. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param value Variable to be filled with an enumerated representation of the CC Current /// limit. /// - 0 = None /// - 1 = Default (500/900mA) /// - 2 = 1.5A /// - 3 = 3.0A /// aLIBEXPORT void __stdcall port_setCCCurrentLimit(unsigned int* id, struct Result* result, const int index, const unsigned char value); /// Gets the HighSpeed Data Routing Behavior. /// The mode determines how the port will route the data lines. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with an enumerated representation of the routing /// behavior. /// Available modes are product specific. See the reference documentation. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataHSRoutingBehavior(unsigned int* id, struct Result* result, const int index); /// Sets the HighSpeed Data Routing Behavior. /// The mode determines how the port will route the data lines. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param mode An enumerated representation of the routing behavior. /// Available modes are product specific. See the reference documentation. /// aLIBEXPORT void __stdcall port_setDataHSRoutingBehavior(unsigned int* id, struct Result* result, const int index, const unsigned char mode); /// Gets the SuperSpeed Data Routing Behavior. /// The mode determines how the port will route the data lines. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with an enumerated representation of the routing /// behavior. /// Available modes are product specific. See the reference documentation. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getDataSSRoutingBehavior(unsigned int* id, struct Result* result, const int index); /// Sets the SuperSpeed Data Routing Behavior. /// The mode determines how the port will route the data lines. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param mode An enumerated representation of the routing behavior. /// Available modes are product specific. See the reference documentation. /// aLIBEXPORT void __stdcall port_setDataSSRoutingBehavior(unsigned int* id, struct Result* result, const int index, const unsigned char mode); /// Gets the Vbus Accumulated Power /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The accumulated power on Vbus in milliwatt-hours. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVbusAccumulatedPower(unsigned int* id, struct Result* result, const int index); /// Sets the Vbus Accumulated Power /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param milliwatthours The accumulated power on Vbus in milliwatt-hours to be set. /// aLIBEXPORT void __stdcall port_setVbusAccumulatedPower(unsigned int* id, struct Result* result, const int index, const int milliwatthours); /// Resets the Vbus Accumulated Power to zero. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// /// \deprecated Replace with setVbusAccumulatedPower(0) /// DEPRECATED("Replace with setVbusAccumulatedPower(0)") aLIBEXPORT void __stdcall port_resetVbusAccumulatedPower(unsigned int* id, struct Result* result, const int index); /// Gets the Vconn Accumulated Power /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The accumulated power on Vconn in milliwatt-hours. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getVconnAccumulatedPower(unsigned int* id, struct Result* result, const int index); /// Sets the Vconn Accumulated Power /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param milliwatthours The accumulated power on Vconn to be set. /// aLIBEXPORT void __stdcall port_setVconnAccumulatedPower(unsigned int* id, struct Result* result, const int index, const int milliwatthours); /// Resets the Vconn Accumulated Power to zero. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// /// \deprecated Replace with setVconnAccumulatedPower(0) /// DEPRECATED("Replace with setVconnAccumulatedPower(0)") aLIBEXPORT void __stdcall port_resetVconnAccumulatedPower(unsigned int* id, struct Result* result, const int index); /// Sets the ports USB 2.0 High Speed Boost Settings /// The setting determines how much additional drive the USB 2.0 signal will have in High /// Speed mode. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param boost An enumerated representation of the boost range. /// Available value are product specific. See the reference documentation. /// aLIBEXPORT void __stdcall port_setHSBoost(unsigned int* id, struct Result* result, const int index, const unsigned char boost); /// Gets the ports USB 2.0 High Speed Boost Settings /// The setting determines how much additional drive the USB 2.0 signal will have in High /// Speed mode. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: An enumerated representation of the boost range. /// Available modes are product specific. See the reference documentation. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getHSBoost(unsigned int* id, struct Result* result, const int index); /// Gets the current CC1 Strapping on local and remote /// The state is a bit packed value where the upper byte is used to represent the remote or /// partner device attached to the ports resistance and the lower byte is used to represent /// the local or hubs resistance. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with an packed enumerated representation of the CC /// state. /// Enumeration values for each byte are as follows: /// \li None = 0 = portCC1State_None /// \li Invalid = 1 = portCC1State_Invalid /// \li Rp (default) = 2 = portCC1State_RpDefault /// \li Rp (1.5A) = 3 = portCC1State_Rp1p5 /// \li Rp (3A) = 4 = portCC1State_Rp3p0 /// \li Rd = 5 = portCC1State_Rd /// \li Ra = 6 = portCC1State_Ra /// \li Managed by controller = 7 = portCC1State_Managed /// \li Unknown = 8 = portCC1State_Unknown /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC1State(unsigned int* id, struct Result* result, const int index); /// Gets the current CC2 Strapping on local and remote /// The state is a bit packed value where the upper byte is used to represent the remote or /// partner device attached to the ports resistance and the lower byte is used to represent /// the local or hubs resistance. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: Variable to be filled with an packed enumerated representation of the CC /// state. /// Enumeration values for each byte are as follows: /// \li None = 0 = portCC2State_None /// \li Invalid = 1 = portCC2State_Invalid /// \li Rp (default) = 2 = portCC2State_RpDefault /// \li Rp (1.5A) = 3 = portCC2State_Rp1p5 /// \li Rp (3A) = 4 = portCC2State_Rp3p0 /// \li Rd = 5 = portCC2State_Rd /// \li Ra = 6 = portCC2State_Ra /// \li Managed by controller = 7 = portCC2State_Managed /// \li Unknown = 8 = portCC2State_Unknown /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC2State(unsigned int* id, struct Result* result, const int index); /// Get the voltage of SBU1 for a port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The USB channel voltage in micro-volts (1 == 1e-6V). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getSBU1Voltage(unsigned int* id, struct Result* result, const int index); /// Get the voltage of SBU2 for a port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The USB channel voltage in micro-volts (1 == 1e-6V). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getSBU2Voltage(unsigned int* id, struct Result* result, const int index); /// Get the voltage of CC1 for a port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The USB channel voltage in micro-volts (1 == 1e-6V). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC1Voltage(unsigned int* id, struct Result* result, const int index); /// Get the voltage of CC2 for a port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The USB channel voltage in micro-volts (1 == 1e-6V). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC2Voltage(unsigned int* id, struct Result* result, const int index); /// Get the current through the CC1 for a port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The USB channel current in micro-amps (1 == 1e-6A). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC1Current(unsigned int* id, struct Result* result, const int index); /// Get the current through the CC2 for a port. /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The USB channel current in micro-amps (1 == 1e-6A). /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC2Current(unsigned int* id, struct Result* result, const int index); /// Gets the CC1 Accumulated Power /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The accumulated power on Vconn in milliwatt-hours. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC1AccumulatedPower(unsigned int* id, struct Result* result, const int index); /// Sets the CC1 Accumulated Power /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param milliwatthours The accumulated power on Vconn to be set. /// aLIBEXPORT void __stdcall port_setCC1AccumulatedPower(unsigned int* id, struct Result* result, const int index, const int milliwatthours); /// Gets the CC2 Accumulated Power /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// \li value: The accumulated power on Vconn in milliwatt-hours. /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code and the requested value if successful. /// \param index The index of the entity in question. /// aLIBEXPORT void __stdcall port_getCC2AccumulatedPower(unsigned int* id, struct Result* result, const int index); /// Sets the CC2 Accumulated Power /// /// The result parameter will output the following fields: /// \li error: \ref EntityReturnValues common entity return value /// /// \param id ID assigned through "module_createStem" /// \param result Output object containing result code. /// \param index The index of the entity in question. /// \param milliwatthours The accumulated power on Vconn to be set. /// aLIBEXPORT void __stdcall port_setCC2AccumulatedPower(unsigned int* id, struct Result* result, const int index, const int milliwatthours); #ifdef __cplusplus } #endif #endif // __AUTOGEN_PORT_CCA_H__