socket-util: Tolerate missing RLIM_SAVED_CUR and RLIM_SAVED_MAX.
[openvswitch] / lib / util.h
index b123ead28471d06c13564e5607da4706315a5917..0e9353dbd5c42056eae02da2d283480cdabdab8a 100644 (file)
@@ -80,7 +80,7 @@ extern const char *program_name;
 /* Given POINTER, the address of the given MEMBER in a STRUCT object, returns
    the STRUCT object. */
 #define CONTAINER_OF(POINTER, STRUCT, MEMBER)                           \
-        ((STRUCT *) ((char *) (POINTER) - offsetof (STRUCT, MEMBER)))
+        ((STRUCT *) (void *) ((char *) (POINTER) - offsetof (STRUCT, MEMBER)))
 
 #ifdef  __cplusplus
 extern "C" {
@@ -96,6 +96,7 @@ void ovs_print_version(char *date, char *time,
 void out_of_memory(void) NO_RETURN;
 void *xmalloc(size_t) MALLOC_LIKE;
 void *xcalloc(size_t, size_t) MALLOC_LIKE;
+void *xzalloc(size_t) MALLOC_LIKE;
 void *xrealloc(void *, size_t);
 void *xmemdup(const void *, size_t) MALLOC_LIKE;
 char *xmemdup0(const char *, size_t) MALLOC_LIKE;
@@ -118,6 +119,16 @@ bool str_to_uint(const char *, int base, unsigned int *);
 bool str_to_ulong(const char *, int base, unsigned long *);
 bool str_to_ullong(const char *, int base, unsigned long long *);
 
+bool str_to_double(const char *, double *);
+
+int hexit_value(int c);
+
+char *get_cwd(void);
+char *dir_name(const char *file_name);
+char *abs_file_name(const char *dir, const char *file_name);
+
+void ignore(bool x OVS_UNUSED);
+
 #ifdef  __cplusplus
 }
 #endif