summaryrefslogtreecommitdiffstats
path: root/src/include/string.h
blob: 0ac54a061e75efd7f9a6e225e58b78390664603d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
 *  Copyright (C) 1991, 1992  Linus Torvalds
 *  Copyright (C) 2004 Tobias Lorenz
 *
 *  string handling functions
 *  based on linux/include/linux/ctype.h
 *       and linux/include/linux/string.h
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef ETHERBOOT_STRING_H
#define ETHERBOOT_STRING_H

#include "stddef.h"
#include "bits/string.h"


/* *** FROM ctype.h *** */

#define isdigit(c)	((c & 0x04) != 0)
#define islower(c)	((c & 0x02) != 0)
//#define isspace(c)	((c & 0x20) != 0)
#define isupper(c)	((c & 0x01) != 0)

static inline unsigned char tolower(unsigned char c)
{
	if (isupper(c))
		c -= 'A'-'a';
	return c;
}

static inline unsigned char toupper(unsigned char c)
{
	if (islower(c))
		c -= 'a'-'A';
	return c;
}


/* *** FROM string.h *** */

int strnicmp(const char *s1, const char *s2, size_t len);
char * strcpy(char * dest,const char *src);
char * strncpy(char * dest,const char *src,size_t count);
char * strcat(char * dest, const char * src);
char * strncat(char *dest, const char *src, size_t count);
int __attribute__ (( pure )) strcmp(const char * cs,const char * ct);
int __attribute__ (( pure )) strncmp(const char * cs,const char * ct,
				     size_t count);
char * strchr(const char * s, int c);
char * strrchr(const char * s, int c);
size_t strlen(const char * s);
size_t strnlen(const char * s, size_t count);
size_t strspn(const char *s, const char *accept);
char * strpbrk(const char * cs,const char * ct);
char * strtok(char * s,const char * ct);
char * strsep(char **s, const char *ct);
void * memset(void * s,int c,size_t count);
char * bcopy(const char * src, char * dest, int count);
void * memmove(void * dest,const void *src,size_t count);
int __attribute__ (( pure )) memcmp(const void * cs,const void * ct,
				    size_t count);
void * memscan(void * addr, int c, size_t size);
char * strstr(const char * s1,const char * s2);
void * memchr(const void *s, int c, size_t n);
char * strdup(const char *s);

extern const char * strerror ( int errno );

#endif /* ETHERBOOT_STRING */