Initial revision
This commit is contained in:
		
							parent
							
								
									c1bae75a85
								
							
						
					
					
						commit
						3ea542769f
					
				
					 3 changed files with 141 additions and 0 deletions
				
			
		
							
								
								
									
										45
									
								
								include/_tail_cc/ctype.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								include/_tail_cc/ctype.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | ||||||
|  | /*  File   : ctypes.h
 | ||||||
|  |     Author : Richard A. O'Keefe. | ||||||
|  |     Updated: 26 April 1984 | ||||||
|  |     Purpose: Reimplement the UNIX ctype(3) library. | ||||||
|  | 
 | ||||||
|  |     isaneol(c) means that c is a line terminating character. | ||||||
|  |     isalnum, ispunct, isspace, and isaneol are defined on the | ||||||
|  |     range -1..127, i.e. on ASCII U {EOF}, while all the other | ||||||
|  |     macros are defined for any integer. | ||||||
|  | 
 | ||||||
|  |     isodigit(c) checks for Octal digits. | ||||||
|  |     isxdigit(c) checkx for heXadecimal digits. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | #define isdigit(c)	((unsigned)((c)-'0') < 10) | ||||||
|  | #define islower(c)	((unsigned)((c)-'a') < 26) | ||||||
|  | #define isupper(c)	((unsigned)((c)-'A') < 26) | ||||||
|  | #define isprint(c)	((unsigned)((c)-' ') < 95) | ||||||
|  | #define iscntrl(c)	((unsigned)((c)-' ') >= 95) | ||||||
|  | #define isascii(c)	((unsigned)(c) < 128) | ||||||
|  | #define isalpha(c)	((unsigned)(((c)|32)-'a') < 26) | ||||||
|  | 
 | ||||||
|  | extern	char	_c2type[]; | ||||||
|  | 
 | ||||||
|  | #define isalnum(c)	(_c2type[(c)+1] < 36) | ||||||
|  | #define ispunct(c)	(_c2type[(c)+1] == 36) | ||||||
|  | #define isspace(c)	(_c2type[(c)+1] > 37) | ||||||
|  | #define isaneol(c)	(_c2type[(c)+1] > 38) | ||||||
|  | 
 | ||||||
|  | #define	isxdigit(c)	(_c2type[(c)+1] < 16) | ||||||
|  | #define isodigit(c)	((unsigned)((c)-'0') < 8) | ||||||
|  | 
 | ||||||
|  | /*  The following "conversion" macros have been in some versions of UNIX
 | ||||||
|  |     but are not in all.  tocntrl is new.  The original motivation for ^? | ||||||
|  |     being a name for DEL was that (x)^64 mapped A..Z to ^A..^Z and also | ||||||
|  |     ? to DEL.  The trouble is that this trick doesn't work for lower case | ||||||
|  |     letters.  The version given here is not mine.  I wish it was.  It has | ||||||
|  |     the nice property that DEL is mapped to itself (so does EOF). | ||||||
|  |     tolower(c) and toupper(c) are only defined when isalpha(c). | ||||||
|  | */ | ||||||
|  | #define	tolower(c)	((c)|32) | ||||||
|  | #define toupper(c)	((c)&~32) | ||||||
|  | #define tocntrl(c)	(((((c)+1)&~96)-1)&127) | ||||||
|  | #define	toascii(c)	((c)&127) | ||||||
|  | 
 | ||||||
							
								
								
									
										62
									
								
								include/_tail_cc/stdio.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								include/_tail_cc/stdio.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,62 @@ | ||||||
|  | #define BUFSIZ  1024 | ||||||
|  | #define _NFILES  20 | ||||||
|  | #define NULL       0 | ||||||
|  | #define EOF     (-1) | ||||||
|  | #define CMASK   0377 | ||||||
|  | 
 | ||||||
|  | #define IO_READMODE     1 | ||||||
|  | #define IO_WRITEMODE    2 | ||||||
|  | #define IO_UNBUFF       4 | ||||||
|  | #define IO_EOF         8 | ||||||
|  | #define IO_ERR        16 | ||||||
|  | #define IO_MYBUF     32 | ||||||
|  | #define IO_PERPRINTF   64 | ||||||
|  | 
 | ||||||
|  | #ifndef FILE | ||||||
|  | 
 | ||||||
|  | extern struct _io_buf { | ||||||
|  |     int     _fd; | ||||||
|  |     int     _count; | ||||||
|  |     int     _flags; | ||||||
|  |     unsigned char   *_buf; | ||||||
|  |     unsigned char   *_ptr; | ||||||
|  | }  *_io_table[_NFILES]; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #endif	/* FILE */ | ||||||
|  | 
 | ||||||
|  | #define FILE struct _io_buf | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #define stdin  (_io_table[0])	 | ||||||
|  | #define stdout 	(_io_table[1]) | ||||||
|  | #define stderr 	(_io_table[2]) | ||||||
|  | 
 | ||||||
|  | #define getchar() 		getc(stdin) | ||||||
|  | #define putchar(c) 		putc(c,stdout) | ||||||
|  | #define getc(p)			(--(p)->_count >= 0 ? (int) (*(p)->_ptr++) : \ | ||||||
|  | 					_fillbuf(p)) | ||||||
|  | #define putc(c, p)		(--(p)->_count >= 0 ? \ | ||||||
|  | 				 (int) (*(p)->_ptr++ = (c)) : \ | ||||||
|  | 				 _flushbuf((c),(p))) | ||||||
|  | #define feof(p) 		(((p)->_flags & IO_EOF) != 0) | ||||||
|  | #define ferror(p) 		(((p)->_flags & IO_ERR) != 0) | ||||||
|  | #define fileno(p) 		((p)->_fd) | ||||||
|  | #define io_testflag(p,x)	((p)->_flags & (x)) | ||||||
|  | 
 | ||||||
|  | /* If you want a stream to be flushed after each printf use:
 | ||||||
|  |  *  | ||||||
|  |  *	io_perprintf(stream); | ||||||
|  |  * | ||||||
|  |  * If you want to stop with this kind of buffering use: | ||||||
|  |  * | ||||||
|  |  *	io_noperprintf(stream); | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #define io_noperprintf(p)	((p)->_flags &= ~IO_PERPRINTF) | ||||||
|  | #define io_perprintf(p)		((p)->_flags |= IO_PERPRINTF) | ||||||
|  | 
 | ||||||
|  | extern FILE *fopen(), *fdopen(), *freopen(), *popen(); | ||||||
|  | extern long ftell(); | ||||||
|  | extern setbuf(), rewind(); | ||||||
|  | extern char *fgets(), *gets(); | ||||||
							
								
								
									
										34
									
								
								include/_tail_cc/sys/dir.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								include/_tail_cc/sys/dir.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,34 @@ | ||||||
|  | #ifdef BSD4_2 | ||||||
|  | #include "/usr/include/sys/dir.h" | ||||||
|  | #else | ||||||
|  | #define DIRBLKSIZ 512 | ||||||
|  | #define MAXNAMLEN 14 | ||||||
|  | #undef DIRSIZ | ||||||
|  | #define DIRSIZ(dp) \ | ||||||
|  | 	((sizeof(struct direct) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1+3)&~3)) | ||||||
|  | struct direct { | ||||||
|  | 	long	d_ino; | ||||||
|  | 	short	d_reclen; | ||||||
|  | 	short	d_namlen; | ||||||
|  | 	char	d_name[MAXNAMLEN+1]; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | struct _dirdesc { | ||||||
|  | 	int	dd_fd; | ||||||
|  | 	long	dd_loc; | ||||||
|  | 	long	dd_size; | ||||||
|  | 	char	dd_buf[DIRBLKSIZ]; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | typedef struct _dirdesc DIR; | ||||||
|  | 
 | ||||||
|  | #ifndef NULL | ||||||
|  | #define NULL 0 | ||||||
|  | #endif | ||||||
|  | extern DIR	*opendir(); | ||||||
|  | extern struct direct *readdir(); | ||||||
|  | extern long	telldir(); | ||||||
|  | extern		seekdir(); | ||||||
|  | #define rewinddir(dirp) seekdir((dirp), 0L) | ||||||
|  | extern		closedir(); | ||||||
|  | #endif | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue