structures.c

Ir para a documentação deste ficheiro.
00001 
00010 #include "structures.h"
00011 
00024 t_args_monitor *create_args_monitor(HASHTABLE_T *sessions, int tempo, pthread_mutex_t *mutex, pthread_cond_t *cond)
00025   {
00026   t_args_monitor *args = NULL;
00027   if(sessions && mutex && cond)
00028     {
00029     args = (t_args_monitor *)malloc(sizeof(t_args_monitor));
00030     args->sessions = sessions;
00031     args->session_len = tempo;
00032     args->mutex = mutex;
00033     args->cond = cond;
00034     }
00035   return args;
00036   }
00037 
00047 void free_args_monitor(t_args_monitor *args)
00048   {
00049   free(args);
00050   }
00051 
00066 t_args_processor *create_args_processor(HASHTABLE_T *sessions, HASHTABLE_T *contas, HASHTABLE_T *maquinas, int tempo, pthread_mutex_t *mutex)
00067   {
00068   t_args_processor *args = NULL;
00069   args = (t_args_processor *)malloc(sizeof(t_args_processor));
00070   args->hash_sessions = sessions;
00071   args->hash_contas = contas;
00072   args->hash_maquinas = maquinas;
00073   args->session_len = tempo;
00074   args->mutex = mutex;
00075   return args;
00076   }
00077 
00087 void free_args_processor(t_args_processor *args)
00088   {
00089   free(args);
00090   }
00091 
00101 t_session *create_session(char *login)
00102   {
00103   static char format[20]; 
00104   t_session *session = NULL;
00105   time_t relogio;
00106   if(login)
00107     {
00108     time(&relogio);
00109     srandom(getpid() + relogio);
00110     session = (t_session *) malloc(sizeof(t_session));
00111     sprintf(format, "%%0%dlx:%%0%dlx", sizeof(long int), sizeof(long int));
00112     sprintf(session->sessionid, format, relogio, random());
00113     session->login = strdup(login);
00114     time(&(session->working_time));
00115     }
00116   return session;
00117   } 
00118 
00128 void free_session(t_session *session)
00129   {
00130   free(session->login);
00131   free(session->sessionid);
00132   free(session);
00133   }
00142 /*void fake_free_maquina(t_maquina *maq)
00143   {
00144   if((--maq->num_ips) == 0)
00145     free_maquina(maq);
00146   }*/
00147 
00159 t_maquina *create_maquina(char *ip, HASHTABLE_T *logins, LISTA_GENERICA_T *pastas)
00160   {
00161   t_maquina *maquina = NULL;
00162   if(ip && logins && pastas)
00163     {
00164     maquina = (t_maquina *)malloc(sizeof(t_maquina));
00165     maquina->ip = strdup(ip);
00166     maquina->logins = logins;
00167     maquina->pastas = pastas;
00168     }
00169   return maquina;
00170   }
00171 
00179 void free_maquina(t_maquina *maq)
00180   {
00181   free(maq->ip);
00182   free(maq->logins);
00183   free(maq->pastas);
00184   free(maq);
00185   }
00186 
00197 t_conta *create_conta(char *login, char *password)
00198   {
00199   t_conta *conta = NULL;
00200   if(login && password)
00201     {
00202     conta = (t_conta *) malloc(sizeof(t_conta));
00203     conta->login = strdup(login);
00204     conta->password = strdup(password);
00205     }
00206   return conta;
00207   }
00208 
00218 void free_conta(t_conta *conta)
00219   {
00220   free(conta->login);
00221   free(conta->password);
00222   free(conta);
00223   }

Gerado em Fri Nov 25 18:42:04 2005 para Securitas por  doxygen 1.4.4