Chameleon

Chameleon Svn Source Tree

Root/tags/2.0/i386/libsa/libsa.h

Source at commit 1808 created 12 years 3 months ago.
By blackosx, Revise layout of package installer 'Welcome' file so it looks cleaner. Change the copyright notice to begin from 2009 as seen in the Chameleon 2.0 r431 installer. Should this date be set earlier?
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(int c)
39{
40 return (c >= 'A' && c <= 'Z');
41}
42
43static inline int islower(int c)
44{
45 return (c >= 'a' && c <= 'z');
46}
47
48static inline int isalpha(int c)
49{
50 return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
51}
52
53static inline int isascii(int c)
54{
55 return ( (c >= 0x20) && (c < 0x7f) );
56}
57
58static inline int isspace(int c)
59{
60 return (c == ' ' || c == '\t' || c == '\n' || c == '\12');
61}
62
63static inline int isdigit(int c)
64{
65 return (c >= '0' && c <= '9');
66}
67
68static inline int isxdigit(int c)
69{
70 return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f'));
71}
72
73static inline int ispunct(int c)
74{
75 return (c == '.' || c == '-');
76}
77
78/*
79 * string.c
80 */
81#ifndef bcopy
82extern void bcopy(const void * src, void * dst, size_t len);
83#endif
84
85#ifndef bzero
86extern void bzero(void * dst, size_t len);
87#endif
88
89extern void * memset(void * dst, int c, size_t n);
90extern void * memcpy(void * dst, const void * src, size_t len);
91extern int memcmp(const void * p1, const void * p2, size_t len);
92extern int strcmp(const char * s1, const char * s2);
93extern int strncmp(const char * s1, const char * s2, size_t n);
94extern char * strcpy(char * s1, const char * s2);
95extern char * strncpy(char * s1, const char * s2, size_t n);
96extern size_t strlcpy(char * s1, const char * s2, size_t n);
97extern char * strstr(const char *in, const char *str);
98extern int atoi(const char * str);
99extern int ptol(const char * str);
100extern size_t strlen(const char * str);
101extern char * strcat(char * s1, const char * s2);
102extern char * strncat(char * s1, const char * s2, size_t n);
103extern char * strdup(const char *s1);
104
105#if STRNCASECMP
106extern int strncasecmp(const char * s1, const char * s2, size_t n);
107#endif
108
109extern char * strchr(const char *str, int c);
110extern char * strbreak(const char *str, char **next, long *len);
111
112extern uint8_t checksum8( void * start, unsigned int length );
113
114/*
115 * error.c
116 */
117extern int errno;
118extern char * strerror(int errnum);
119
120/*
121 * strtol.c
122 */
123extern long strtol(const char * nptr, char ** endptr, int base);
124extern unsigned long strtoul(const char * nptr, char ** endptr, int base);
125extern unsigned long long strtouq(const char *nptr, char ** endptr, int base);
126
127/*
128 * prf.c
129 */
130extern void prf(const char * fmt, va_list ap, int (*putfn_p)(),
131 void * putfn_arg);
132
133/*
134 * printf.c
135 */
136extern int sprintf(char *s, const char * format, ...);
137extern int slvprintf(char * buffer, int len, const char * fmt, va_list arg);
138
139/*
140 * zalloc.c
141 */
142#define malloc(size)safe_malloc(size, __FILE__, __LINE__)
143extern void malloc_init(char * start, int size, int nodes, void (*malloc_error)(char *, size_t, const char *, int));
144extern void * safe_malloc(size_t size,const char *file, int line);
145extern void free(void * start);
146extern void * realloc(void * ptr, size_t size);
147
148/*
149 * getsegbyname.c
150 */
151extern struct segment_command *
152 getsegbynamefromheader(struct mach_header * mhp, char * segname);
153
154#endif /* !__BOOT_LIBSA_H */
155

Archive Download this file

Revision: 1808