UE/API/USER: rename _user_data to user_at_commands_t and move it to nas_user_t

This commit is contained in:
Frédéric Leroy
2017-01-25 13:23:18 +01:00
parent 26538bb9e2
commit 5ab2fccf2f
6 changed files with 38 additions and 24 deletions
+13 -20
View File
@@ -110,23 +110,16 @@ static struct {
* The buffer used to receive data from the user application layer
*/
#define USER_API_RECV_BUFFER_SIZE 4096
// FIXME not reentrant
static char _user_api_recv_buffer[USER_API_RECV_BUFFER_SIZE];
/*
* The buffer used to send data to the user application layer
*/
#define USER_API_SEND_BUFFER_SIZE USER_API_RECV_BUFFER_SIZE
// FIXME not reentrant
static char _user_api_send_buffer[USER_API_SEND_BUFFER_SIZE];
/*
* The decoded data received from the user application layer
*/
static struct {
int n_cmd; /* number of user data to be processed */
#define USER_DATA_MAX 10
at_command_t cmd[USER_DATA_MAX]; /* user data to be processed */
} _user_data = {};
/****************************************************************************/
/****************** E X P O R T E D F U N C T I O N S ******************/
/****************************************************************************/
@@ -261,12 +254,12 @@ int user_api_get_fd(void)
** Others: None **
** **
***************************************************************************/
const void* user_api_get_data(int index)
const void* user_api_get_data(user_at_commands_t *commands, int index)
{
LOG_FUNC_IN;
if (index < _user_data.n_cmd) {
LOG_FUNC_RETURN ((void*)(&_user_data.cmd[index]));
if (index < commands->n_cmd) {
LOG_FUNC_RETURN ((void*)(&commands->cmd[index]));
}
LOG_FUNC_RETURN (NULL);
@@ -458,22 +451,22 @@ void user_api_close(int fd)
** Others: _user_api_send_buffer, _user_data **
** **
***************************************************************************/
int user_api_decode_data(int length)
int user_api_decode_data(user_at_commands_t *commands, int length)
{
LOG_FUNC_IN;
/* Parse the AT command line */
LOG_TRACE(INFO, "USR-API - Decode user data: %s", _user_api_recv_buffer);
_user_data.n_cmd = at_command_decode(_user_api_recv_buffer, length,
_user_data.cmd);
commands->n_cmd = at_command_decode(_user_api_recv_buffer, length,
commands->cmd);
if (_user_data.n_cmd > 0) {
if (commands->n_cmd > 0) {
/* AT command data received from the user application layer
* has been successfully decoded */
LOG_TRACE(INFO, "USR-API - %d AT command%s ha%s been successfully "
"decoded", _user_data.n_cmd,
(_user_data.n_cmd > 1) ? "s" : "",
(_user_data.n_cmd > 1) ? "ve" : "s");
"decoded", commands->n_cmd,
(commands->n_cmd > 1) ? "s" : "",
(commands->n_cmd > 1) ? "ve" : "s");
} else {
int bytes;
@@ -490,7 +483,7 @@ int user_api_decode_data(int length)
(void) _user_api_send_data(bytes);
}
LOG_FUNC_RETURN (_user_data.n_cmd);
LOG_FUNC_RETURN (commands->n_cmd);
}
/****************************************************************************
+13 -2
View File
@@ -42,6 +42,7 @@ Description Implements the API used by the NAS layer running in the UE
#include "commonDef.h"
#include "networkDef.h"
#include "at_command.h"
/****************************************************************************/
/********************* G L O B A L C O N S T A N T S *******************/
@@ -51,6 +52,16 @@ Description Implements the API used by the NAS layer running in the UE
/************************ G L O B A L T Y P E S ************************/
/****************************************************************************/
/*
* The decoded data received from the user application layer
*/
typedef struct {
int n_cmd; /* number of user data to be processed */
#define USER_DATA_MAX 10
at_command_t cmd[USER_DATA_MAX]; /* user data to be processed */
} user_at_commands_t;
/****************************************************************************/
/******************** G L O B A L V A R I A B L E S ********************/
/****************************************************************************/
@@ -65,14 +76,14 @@ int user_api_emm_callback(Stat_t stat, tac_t tac, ci_t ci, AcT_t AcT, const char
int user_api_esm_callback(int cid, network_pdn_state_t state);
int user_api_get_fd(void);
const void* user_api_get_data(int index);
const void* user_api_get_data(user_at_commands_t *commands, int index);
int user_api_read_data(int fd);
int user_api_set_data(char *message);
int user_api_send_data(int fd, int length);
void user_api_close(int fd);
int user_api_decode_data(int length);
int user_api_decode_data(user_at_commands_t *commands, int length);
int user_api_encode_data(const void* data, int add_success_code);
#endif /* __USER_API_H__ */