le_port_interface.h File Reference

#include "legato.h"
#include "le_atServer_interface.h"

Go to the source code of this file.

Macros

#define LE_PORT_MAX_LEN_DEVICE_NAME   50
 

Typedefs

typedef void(* le_port_DisconnectHandler_t) (void *)
 
typedef struct le_port_Device * le_port_DeviceRef_t
 

Functions

void le_port_ConnectService (void)
 
le_result_t le_port_TryConnectService (void)
 
void le_port_SetServerDisconnectHandler (le_port_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void le_port_DisconnectService (void)
 
le_port_DeviceRef_t le_port_Request (const char *LE_NONNULL deviceName)
 
le_result_t le_port_SetDataMode (le_port_DeviceRef_t devRef, int *fdPtr)
 
le_result_t le_port_SetCommandMode (le_port_DeviceRef_t devRef, le_atServer_DeviceRef_t *atServerDevRefPtr)
 
le_result_t le_port_Release (le_port_DeviceRef_t devRef)
 
le_result_t le_port_GetPortReference (le_atServer_DeviceRef_t atServerDevRef, le_port_DeviceRef_t *devRefPtr)
 

Detailed Description

Legato Port Service include file.

Macro Definition Documentation

#define LE_PORT_MAX_LEN_DEVICE_NAME   50

Maximum length of the device name.

Typedef Documentation

typedef struct le_port_Device* le_port_DeviceRef_t

Reference type for referring to the device.

typedef void(* le_port_DisconnectHandler_t) (void *)

Include le_atServer.api for atServer type definitions. Type for handler called when a server disconnects.

Function Documentation

void le_port_ConnectService ( void  )

Connect the current client thread to the service providing this API. Block until the service is available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

void le_port_DisconnectService ( void  )

Disconnect the current client thread from the service providing this API.

Normally, this function doesn't need to be called. After this function is called, there's no longer a connection to the service, and the functions in this API can't be used. For details, see Client-specific Functions.

This function is created automatically.

le_result_t le_port_GetPortReference ( le_atServer_DeviceRef_t  atServerDevRef,
le_port_DeviceRef_t devRefPtr 
)

This function gets the device reference regarding to a given reference coming from the AT server.

Returns
  • LE_OK Function succeeded.
  • LE_FAULT Function failed.
  • LE_BAD_PARAMETER Invalid parameter.
Parameters
[in]atServerDevRefDevice reference from AT server.
[out]devRefPtrDevice reference from port service.
le_result_t le_port_Release ( le_port_DeviceRef_t  devRef)

This function closes the device and releases the resources.

Returns
  • LE_OK Function succeeded.
  • LE_FAULT Function failed.
  • LE_BAD_PARAMETER Invalid parameter.
  • LE_UNAVAILABLE JSON parsing is not completed.
Parameters
[in]devRefDevice reference.
le_port_DeviceRef_t le_port_Request ( const char *LE_NONNULL  deviceName)

This function requests to open a configured device. If the device was not opened, it opens the device.

Returns
  • Reference to the device.
  • NULL if the device is not available.
Parameters
[in]deviceNameDevice name to be requested.
le_result_t le_port_SetCommandMode ( le_port_DeviceRef_t  devRef,
le_atServer_DeviceRef_t atServerDevRefPtr 
)

This function switches the device into AT command mode and returns AT server device reference.

Returns
  • LE_OK Function succeeded.
  • LE_FAULT Function failed.
  • LE_BAD_PARAMETER Invalid parameter.
Parameters
[in]devRefDevice reference.
[out]atServerDevRefPtrAT server device reference.
le_result_t le_port_SetDataMode ( le_port_DeviceRef_t  devRef,
int *  fdPtr 
)

This function switches the device into data mode.

Returns
  • LE_OK Function succeeded.
  • LE_FAULT Function failed.
  • LE_BAD_PARAMETER Invalid parameter.
  • LE_UNAVAILABLE JSON parsing is not completed.
Parameters
[in]devRefDevice reference.
[out]fdPtrFile descriptor of the device.
void le_port_SetServerDisconnectHandler ( le_port_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected.

When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants to continue without exiting, it should call longjmp() from inside the handler.

le_result_t le_port_TryConnectService ( void  )

Try to connect the current client thread to the service providing this API. Return with an error if the service is not available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

Returns
  • LE_OK if the client connected successfully to the service.
  • LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.
  • LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
  • LE_COMM_ERROR if the Service Directory cannot be reached.