diff options
author | Vincent Palatin <vpalatin@chromium.org> | 2011-12-07 18:58:43 +0000 |
---|---|---|
committer | Vincent Palatin <vpalatin@chromium.org> | 2011-12-07 19:10:02 +0000 |
commit | e24fa592d2a215d8ae67917c1d89e68cdf847a03 (patch) | |
tree | 47fbe4c55e7f4089cad7d619eded337da3bae999 /include/util.h | |
parent | 6396911897e4cd40f52636d710cee2865acf15e3 (diff) | |
download | chrome-ec-e24fa592d2a215d8ae67917c1d89e68cdf847a03.tar.gz |
Initial sources import 3/3
source files mainly done by Vincent.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Change-Id: Ic2d1becd400c9b4b4a14d4a243af1bdf77d9c1e2
Diffstat (limited to 'include/util.h')
-rw-r--r-- | include/util.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/include/util.h b/include/util.h new file mode 100644 index 0000000000..5930ff79aa --- /dev/null +++ b/include/util.h @@ -0,0 +1,54 @@ +/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* Various utility functions and macros */ + +#ifndef __UTIL_H +#define __UTIL_H + +#include <stdint.h> + +#include "config.h" + +/** + * Trigger a compilation failure if the condition + * is not verified at build time. + */ +#define BUILD_ASSERT(cond) ((void)sizeof(char[1 - 2*!(cond)])) + +/** + * Trigger a debug exception if the condition + * is not verified at runtime. + */ +#ifdef CONFIG_DEBUG +#define ASSERT(cond) do { \ + if (!(cond)) \ + __asm("bkpt"); \ + } while (0); +#else +#define ASSERT(cond) +#endif + + +/* Standard macros / definitions */ +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define NULL ((void *)0) + + +/* Standard library functions */ +int atoi(const char *nptr); +int isdigit(int c); +int isspace(int c); +void *memcpy(void *dest, const void *src, int len); +void *memset(void *dest, int c, int len); +int strcasecmp(const char *s1, const char *s2); +int strlen(const char *s); +int strtoi(const char *nptr, char **endptr, int base); +char *strzcpy(char *dest, const char *src, int len); +int tolower(int c); + +#endif /* __UTIL_H */ |