libUPnP  1.6.17
sysdep.h
Go to the documentation of this file.
00001 #ifndef SYSDEP_H
00002 #define SYSDEP_H
00003 
00004 /*
00005  * Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
00006  * Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
00007  * Digital Equipment Corporation, Maynard, Mass.
00008  * Copyright (c) 1998 Microsoft.
00009  * To anyone who acknowledges that this file is provided "AS IS"
00010  * without any express or implied warranty: permission to use, copy,
00011  * modify, and distribute this file for any purpose is hereby
00012  * granted without fee, provided that the above copyright notices and
00013  * this notice appears in all source code copies, and that none of
00014  * the names of Open Software Foundation, Inc., Hewlett-Packard
00015  * Company, or Digital Equipment Corporation be used in advertising
00016  * or publicity pertaining to distribution of the software without
00017  * specific, written prior permission.  Neither Open Software
00018  * Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment
00019  * Corporation makes any representations about the suitability of
00020  * this software for any purpose.
00021  */
00022 
00027 #include "ithread.h"
00028 
00029 /* change to point to where MD5 .h's live */
00030 /* get MD5 sample implementation from RFC 1321 */
00031 #include "global.h"
00032 #include "md5.h"
00033 
00034 #include "UpnpStdInt.h"
00035 
00036 #include <sys/types.h>
00037 
00038 #ifdef WIN32
00039         /* Do not #include <sys/time.h> */
00040 #else
00041         #include <sys/time.h>
00042 #endif
00043 
00046 #define UUIDS_PER_TICK 1024
00047 
00049 extern ithread_mutex_t gUUIDMutex;
00050 
00051 #define UUIDLock()      ithread_mutex_lock(&gUUIDMutex)
00052 #define UUIDUnlock()    ithread_mutex_unlock(&gUUIDMutex)
00053 
00054 typedef uint64_t uuid_time_t;
00055 
00056 typedef struct {
00057         char nodeID[6];
00058 } uuid_node_t;
00059 
00060 void get_ieee_node_identifier(uuid_node_t * node);
00061 void get_system_time(uuid_time_t * uuid_time);
00062 void get_random_info(unsigned char seed[16]);
00063 
00064 #endif /* SYSDEP_H */