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