blob: 99033ff28a78872996f64cc5e3a732ef6022d664 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * Copyright (C) 2000 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
4 */
5
6#ifndef __USER_H__
7#define __USER_H__
8
Jeff Dike24fa6c02007-05-06 14:51:09 -07009/*
10 * The usual definition - copied here because the kernel provides its own,
11 * fancier, type-safe, definition. Using that one would require
12 * copying too much infrastructure for my taste, so userspace files
13 * get less checking than kernel files.
14 */
15#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
16
Jeff Dike42daba32007-10-16 01:26:47 -070017/* This is to get size_t */
18#ifdef __KERNEL__
Paolo 'Blaisorblade' Giarrussoc2f239d2007-05-06 14:51:52 -070019#include <linux/types.h>
Jeff Dike42daba32007-10-16 01:26:47 -070020#else
21#include <stddef.h>
22#endif
Paolo 'Blaisorblade' Giarrussoc2f239d2007-05-06 14:51:52 -070023
Paolo 'Blaisorblade' Giarrusso9cf85b32006-04-10 22:53:31 -070024extern void panic(const char *fmt, ...)
25 __attribute__ ((format (printf, 1, 2)));
26extern int printk(const char *fmt, ...)
27 __attribute__ ((format (printf, 1, 2)));
Linus Torvalds1da177e2005-04-16 15:20:36 -070028extern void schedule(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070029extern int in_aton(char *str);
30extern int open_gdb_chan(void);
Paolo 'Blaisorblade' Giarrussoc2f239d2007-05-06 14:51:52 -070031extern size_t strlcpy(char *, const char *, size_t);
32extern size_t strlcat(char *, const char *, size_t);
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34#endif