Chameleon Applications

Chameleon Applications Svn Source Tree

Root/branches/iFabio/i386/libsa/libsa.h

Source at commit 214 created 13 years 5 months ago.
By ifabio, update to chameleon trunk 630, and now the pakage folder is the same as blackosx branch, also add Icon "building" into buildpkg script, and add mint theme info into the English localizable.strings.
1/*
2 * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights
7 * Reserved. This file contains Original Code and/or Modifications of
8 * Original Code as defined in and that are subject to the Apple Public
9 * Source License Version 2.0 (the "License"). You may not use this file
10 * except in compliance with the License. Please obtain a copy of the
11 * License at http://www.apple.com/publicsource and read it before using
12 * this file.
13 *
14 * The Original Code and all software distributed under the License are
15 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the
19 * License for the specific language governing rights and limitations
20 * under the License.
21 *
22 * @APPLE_LICENSE_HEADER_END@
23 */
24
25#ifndef __BOOT_LIBSA_H
26#define __BOOT_LIBSA_H
27
28/* Exported API for standalone library */
29
30#include <mach-o/loader.h>
31#include <stdarg.h>
32#include <stddef.h>
33#include <stdbool.h>
34
35/*
36 * ctype stuff (aserebln)
37 */
38static inline int isupper(char c)
39{
40 return (c >= 'A' && c <= 'Z');
41}
42
43static inline int islower(char c)
44{
45 return (c >= 'a' && c <= 'z');
46}
47
48static inline int isalpha(char c)
49{
50 return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
51}
52
53static inline int isascii(char c)
54{
55 return ( (c >= 0x20) && (c < 0x7f) );
56}
57
58static inline int isspace(char c)
59{
60 return (c == ' ' || c == '\t' || c == '\n' || c == '\12');
61}
62
63static inline int isdigit(char c)
64{
65 return (c >= '0' && c <= '9');
66}
67
68static inline int isxdigit(char c)
69{
70 return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f'));
71}
72
73//Azi: TODO - add more ponctuation characters as needed; at least these two, i need for PartNo.
74static inline int ispunct(char c)
75{
76 return (c == '.' || c == '-');
77}
78
79/*
80 * string.c
81 */
82#ifndef bcopy
83extern void bcopy(const void * src, void * dst, size_t len);
84#endif
85
86#ifndef bzero
87extern void bzero(void * dst, size_t len);
88#endif
89
90extern void * memset(void * dst, int c, size_t n);
91extern void * memcpy(void * dst, const void * src, size_t len);
92extern int memcmp(const void * p1, const void * p2, int len);
93extern int strcmp(const char * s1, const char * s2);
94extern int strncmp(const char * s1, const char * s2, size_t n);
95extern char * strcpy(char * s1, const char * s2);
96extern char * strncpy(char * s1, const char * s2, size_t n);
97extern char * strlcpy(char * s1, const char * s2, size_t n);
98extern char * strstr(const char *in, const char *str);
99extern int atoi(const char * str);
100extern int ptol(const char * str);
101extern int strlen(const char * str);
102extern char * strcat(char * s1, const char * s2);
103extern char * strncat(char * s1, const char * s2, size_t n);
104extern char * strdup(const char *s1);
105
106#if STRNCASECMP
107extern int strncasecmp(const char * s1, const char * s2, size_t n);
108#endif
109
110extern char * strchr(const char *str, int c);
111extern char * strbreak(const char *str, char **next, long *len);
112
113extern uint8_t checksum8( void * start, unsigned int length );
114
115/*
116 * error.c
117 */
118extern int errno;
119extern char * strerror(int errnum);
120
121/*
122 * strtol.c
123 */
124extern long strtol(const char * nptr, char ** endptr, int base);
125extern unsigned long strtoul(const char * nptr, char ** endptr, int base);
126extern unsigned long long strtouq(const char *nptr, char ** endptr, int base);
127
128/*
129 * prf.c
130 */
131extern void prf(const char * fmt, va_list ap, void (*putfn_p)(),
132 void * putfn_arg);
133
134/*
135 * printf.c
136 */
137extern int sprintf(char *s, const char * format, ...);
138extern int slvprintf(char * buffer, int len, const char * fmt, va_list arg);
139
140/*
141 * zalloc.c
142 */
143#define malloc(size)safe_malloc(size, __FILE__, __LINE__)
144extern void malloc_init(char * start, int size, int nodes, void (*malloc_error)(char *, size_t, const char *, int));
145extern void * safe_malloc(size_t size,const char *file, int line);
146extern void free(void * start);
147extern void * realloc(void * ptr, size_t size);
148
149/*
150 * getsegbyname.c
151 */
152extern struct segment_command *
153 getsegbynamefromheader(struct mach_header * mhp, char * segname);
154
155#endif /* !__BOOT_LIBSA_H */
156

Archive Download this file

Revision: 214