Exemplo n.º 1
0
arpsk_arp_pkt_t *
sk_init(int proto)
{

    arpsk_arp_pkt_t *pkt = NULL;

#if !(__WIN32__)
    struct timeval seed;
#endif

#if __WIN32__
    srand(0);
#else
    if(gettimeofday(&seed, NULL) == -1)
	fatal("** Error: cannot gettimeofday.\n");

    srandom((unsigned)((seed.tv_sec ^ seed.tv_usec) ^ getpid()));
#endif

    switch (proto)
    {
	case ARP_ETH_IP:
	    pkt = sk_malloc(sizeof(arpsk_eiarp_pkt_t));
	    sk_init_eiarp_pkt(pkt);
	    return pkt;

	default:
	    fprintf(stderr, "** Error: proto not yet supported.\n");
	    exit(EXIT_FAILURE);
    }
}
Exemplo n.º 2
0
void sk_mutex_init(SkObject *self) {
    pthread_mutex_t *mutex = sk_malloc(sizeof(pthread_mutex_t));
    pthread_mutex_init(mutex, NULL);
    sk_object_set_data(self, (void *)mutex);
}