#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netdb.h>
#include <sys/un.h>
#include <unistd.h>
#include <sys/time.h>
#include <pthread.h>
#include "config.h"
#include <stdlib.h>
#include "include/acc.h"
#include "include/connection.h"
#include "include/data_structures.h"
#include "include/macros.h"
#include "include/mc_error.h"
#include "include/mc_platform.h"
#include "include/message.h"
#include "include/mtp_http.h"
#include "include/xml_parser.h"
#include "include/fipa_acl_envelope.h"
Go to the source code of this file.
Defines | |
#define | BACKLOG 10 |
Functions | |
acc_p | acc_Initialize (struct mc_platform_s *mc_platform) |
int | acc_Destroy (acc_p acc) |
void * | acc_MessageHandlerThread (void *arg) |
void * | acc_Thread (void *arg) |
void | acc_Start (mc_platform_p mc_platform) |
int | auth_conn_rece_key (int sockfd, char *peer_name, int *nonce, unsigned char *aes_key, char *privkey, char *known_host_filename) |
void * | listen_Thread (void *arg) |
#define BACKLOG 10 |
int acc_Destroy | ( | acc_p | acc | ) |
acc_p acc_Initialize | ( | struct mc_platform_s * | mc_platform | ) |
Definition at line 68 of file acc.c.
References COND_INIT, COND_T, MUTEX_INIT, and MUTEX_T.
Referenced by mc_platform_Initialize().
void* acc_MessageHandlerThread | ( | void * | arg | ) |
Definition at line 96 of file acc.c.
References agent_Initialize(), mc_platform_s::agent_queue, agent_s::agent_status, AGENT_UPDATE, mc_platform_s::ams, CANCEL, COND_BROADCAST, COND_WAIT, agent_s::datastate, FIPA_ACL, mc_platform_s::giant, mc_platform_s::giant_cond, mc_platform_s::giant_lock, agent_s::lock, MC_AGENT_NEUTRAL, mc_platform, MC_RECV_AGENT, MC_RECV_MESSAGE, MC_RECV_RETURN, mc_platform_s::MC_signal, mc_platform_s::MC_signal_cond, mc_platform_s::MC_signal_lock, message_Destroy(), mc_platform_s::message_queue, message_Send(), message_s::message_type, MOBILE_AGENT, MUTEX_LOCK, MUTEX_UNLOCK, N_UNDRSTD, agent_s::name, agent_datastate_s::persistent, QUER_IF, QUER_REF, mc_platform_s::quit, mc_platform_s::quit_lock, RELAY, REQUEST, RETURN_MSG, SUBSCRIBE, THREAD_EXIT, and message_s::to_address.
Referenced by acc_Start().
void acc_Start | ( | mc_platform_p | mc_platform | ) |
Definition at line 464 of file acc.c.
References mc_platform_s::acc, acc_MessageHandlerThread(), acc_Thread(), listen_Thread(), MC_THREAD_ACC, mc_platform_s::stack_size, and THREAD_CREATE.
Referenced by mc_platform_Initialize().
void* acc_Thread | ( | void * | arg | ) |
Definition at line 270 of file acc.c.
References agent_mailbox_Post(), mc_platform_s::agent_queue, AGENT_UPDATE, CANCEL, COND_BROADCAST, COND_WAIT, connection_Destroy(), mc_platform_s::connection_queue, mtp_http_s::content, mtp_http_content_s::data, FIPA_ACL, fipa_acl_envelope_Destroy(), fipa_acl_envelope_New(), fipa_acl_message_Destroy(), fipa_acl_message_New(), fipa_acl_Parse(), fipa_agent_identifier_set_s::fipa_agent_identifiers, fipa_envelope_Parse(), fipa_message_string_Destroy(), fipa_message_string_New(), mc_platform_s::giant, mc_platform_s::giant_cond, mc_platform_s::giant_lock, mtp_http_s::http_performative, HTTP_POST, HTTP_PUT, agent_s::mailbox, mc_platform, MC_RECV_CONNECTION, mc_platform_s::MC_signal, mc_platform_s::MC_signal_cond, mc_platform_s::MC_signal_lock, fipa_message_string_s::message, message_s::message_body, message_Destroy(), message_New(), mtp_http_s::message_parts, mc_platform_s::message_queue, message_s::message_type, message_xml_parse(), MOBILE_AGENT, mtp_http_Destroy(), mtp_http_InitializeFromConnection(), mtp_http_New(), MUTEX_LOCK, MUTEX_UNLOCK, MXML_NO_CALLBACK, mxmlLoadString(), N_UNDRSTD, fipa_agent_identifier_s::name, fipa_agent_identifier_set_s::num, fipa_acl_envelope_s::num_params, fipa_acl_envelope_s::params, fipa_message_string_s::parse, mc_platform_s::private_key, QUER_IF, QUER_REF, mc_platform_s::quit, mc_platform_s::quit_lock, RELAY, REQUEST, RETURN_MSG, SUBSCRIBE, mtp_http_s::target, THREAD_EXIT, fipa_acl_Param_s::to, and message_s::xml_root.
Referenced by acc_Start().
int auth_conn_rece_key | ( | int | sockfd, | |
char * | peer_name, | |||
int * | nonce, | |||
unsigned char * | aes_key, | |||
char * | privkey, | |||
char * | known_host_filename | |||
) |
Definition at line 507 of file acc.c.
References read_known_host_file(), and reply_migration_process().
Referenced by listen_Thread().
void* listen_Thread | ( | void * | arg | ) |
Definition at line 546 of file acc.c.
References mc_platform_s::acc, connection_s::addr, connection_s::AES_key, mc_platform_s::agency, auth_conn_rece_key(), BACKLOG, CHECK_NULL, connection_s::clientfd, COND_BROADCAST, connection_s::connect_id, mc_platform_s::connection_queue, agency_s::known_host_filename, mc_platform, MUTEX_LOCK, MUTEX_UNLOCK, connection_s::nonce, mc_platform_s::port, mc_platform_s::private_key, connection_s::remote_hostname, connection_s::serverfd, mc_platform_s::sockfd, and THREAD_EXIT.
Referenced by acc_Start().