1
0
Files
2022-09-29 17:59:04 +03:00

101 lines
3.5 KiB
C

/**************************************************************************
* *
* Copyright (C) 1994 Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
#ident "$Revision: 1.29 $"
#ifndef _LIBC_H_
#define _LIBC_H_
#include <stdarg.h>
#include "rtc.h"
#define isspace(c) ((c) == ' ' || (c) == '\t')
#define isdigit(c) ((c) >= '0' && (c) <= '9')
#define isupper(c) ((c) >= 'A' && (c) <= 'Z')
#define islower(c) ((c) >= 'a' && (c) <= 'z')
#define isalpha(c) (islower(c) || isupper(c))
#define isalnum(c) (isalpha(c) || isdigit(c))
#define isprint(c) ((c) >= ' ' && (c) <= '~')
#define isxdigit(c) ((c) >= '0' && (c) <= '9' || \
(c) >= 'a' && (c) <= 'f' || \
(c) >= 'A' && (c) <= 'F')
#define isodigit(c) ((c) >= '0' && (c) <= '7')
#define toupper(c) (islower(c) ? (c) - 'a' + 'A' : (c))
#define tolower(c) (isupper(c) ? (c) - 'A' + 'a' : (c))
typedef struct libc_device_s {
void (*init)(void *init_data);
int (*poll)(void);
int (*readc)(void);
int (*getc)(void);
int (*putc)(int);
int (*puts)(char *);
int (*flush)(void); /* Flush output */
int led_pattern;
char *dev_name;
} libc_device_t;
libc_device_t *libc_device(libc_device_t *dev);
void libc_init(void *init_data);
int poll(void);
int readc(void);
int putc(int c);
int putchar(int c);
int puts(char *s);
int flush(void);
int kbintr(rtc_time_t *next);
int more(int *lines, int max);
char *device(void);
int getc_timeout(__uint64_t usec);
int getc(void);
char *gets_timeout(char *buf, int max_length,
__uint64_t usec, char *defl);
char *gets(char *buf, int max_length);
int puthex(__uint64_t v);
size_t strlen(const char *s);
char *strcpy(char *dst, const char *src);
char *strncpy(char *dst, const char *src, size_t n);
int strncmp(const char *s1, const char *s2, size_t n);
int strcmp(const char *s1, const char *s2);
char *strchr(const char *s, int c);
char *strcat(char *dst, const char *src);
char *strstr(const char *as1, const char *as2);
char *strrepl(char *s, int start, int len, const char *repstr);
void *memset(void *base, int value, size_t len);
int memcmp8(__uint64_t *s1, __uint64_t *s2, size_t n);
void bzero(void *base, size_t len);
void *memcpy(void *dest, const void *source, size_t len);
__uint64_t memsum(void *base, size_t len);
int atoi(const char *cp);
__uint64_t htol(char *cp);
__uint64_t strtoull(const char *str, char **nptr, int base);
void sprintnu(char *tgt, __scunsigned_t n, int b, int digits);
void sprintns(char *tgt, __scint_t n, int b, int digits);
void prf(int (*putc)(), __uint64_t putc_data,
const char *fmt, va_list adx);
int printf(const char *fmt, ...);
int vprintf(const char *fmt, va_list ap);
int db_printf(const char *fmt, ...); /* If verbose on */
int db_vprintf(const char *fmt, va_list ap); /* If verbose on */
int sprintf(char *buf, const char *fmt, ...);
int vsprintf(char *buf, const char *fmt, va_list ap);
#if 0
int sprintf_length(const char *fmt, ...);
#endif
int majority(int n, int *votes);
#endif /* _LIBC_H_ */