vdl-utils.h
author Hajime Tazaki <tazaki@nict.go.jp>
Wed, 13 Feb 2013 22:37:34 +0900
changeset 651 9d7e2cd9633b
parent 538 35d137b26ca1
permissions -rw-r--r--
add a testcase to reproduce threaded dlclose crash (Bug 1513)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
#ifndef VDL_UTILS_H
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
#define VDL_UTILS_H
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
#include <sys/types.h>
368
082761a5756a implement vdl_utils_vprintf
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
     5
#include <stdarg.h>
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
#include "vdl.h"
526
448368f06a91 start migration towards VdlList
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 514
diff changeset
     7
#include "vdl-list.h"
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
// string manipulation functions
138
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    10
int vdl_utils_strisequal (const char *a, const char *b);
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    11
int vdl_utils_strlen (const char *str);
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    12
char *vdl_utils_strdup (const char *str);
381
79b2b2e16e27 find a substring
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 374
diff changeset
    13
char *vdl_utils_strfind (char *str, const char *substr);
138
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    14
char *vdl_utils_strconcat (const char *str, ...);
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    15
const char *vdl_utils_getenv (const char **envp, const char *value);
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
// convenience function
138
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    18
int vdl_utils_exists (const char *filename);
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
527
012d45aa2432 get rid of VdlStringList
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 526
diff changeset
    20
// manipulate lists of strings.
526
448368f06a91 start migration towards VdlList
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 514
diff changeset
    21
void vdl_utils_str_list_delete (struct VdlList *list);
527
012d45aa2432 get rid of VdlStringList
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 526
diff changeset
    22
struct VdlList *vdl_utils_strsplit (const char *value, char separator);
012d45aa2432 get rid of VdlStringList
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 526
diff changeset
    23
struct VdlList *vdl_utils_splitpath (const char *value);
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
138
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    25
unsigned long vdl_utils_align_down (unsigned long v, unsigned long align);
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    26
unsigned long vdl_utils_align_up (unsigned long v, unsigned long align);
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
138
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    28
#define vdl_utils_max(a,b)(((a)>(b))?(a):(b))
502
eb6de9a0882d VdlArray + basic tests
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 381
diff changeset
    29
#define vdl_utils_min(a,b)(((a)<(b))?(a):(b))
136
265bb91b9a70 move code around
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 135
diff changeset
    30
138
345105f66f3d introduce utils prefix, split logging.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 137
diff changeset
    31
ElfW(Phdr) *vdl_utils_search_phdr (ElfW(Phdr) *phdr, int phnum, int type);
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
368
082761a5756a implement vdl_utils_vprintf
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
    33
char *vdl_utils_vprintf (const char *str, va_list args);
538
35d137b26ca1 cleanup vdl.h API
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 534
diff changeset
    34
char *vdl_utils_sprintf (const char *str, ...);
368
082761a5756a implement vdl_utils_vprintf
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 194
diff changeset
    35
135
f4e02952d160 move utilities in separate header
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
#endif /* VDL_UTILS_H */