forked from Bananymous/banan-os
				
			LibC: Add timer{add,sub,clear,isset,cmp}
These are not POSIX but used by used by some ports
This commit is contained in:
		
							parent
							
								
									89c9bfd052
								
							
						
					
					
						commit
						c7be3dcd5b
					
				|  | @ -33,6 +33,36 @@ int gettimeofday(struct timeval* __restrict tp, void* __restrict tzp); | |||
| int setitimer(int which, const struct itimerval* __restrict value, struct itimerval* __restrict ovalue); | ||||
| int utimes(const char* path, const struct timeval times[2]); | ||||
| 
 | ||||
| #define timeradd(a, b, res) \ | ||||
| 	do { \ | ||||
| 		(res)->tv_sec  = (a)->tv_sec  + (b)->tv_sec; \ | ||||
| 		(res)->tv_usec = (a)->tv_usec + (b)->tv_usec; \ | ||||
| 		(res)->tv_sec += (res)->tv_usec / 1000000; \ | ||||
| 		(res)->tv_usec %= 1000000; \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| #define timersub(a, b, res) \ | ||||
| 	do { \ | ||||
| 		(res)->tv_sec  = (a)->tv_sec  - (b)->tv_sec; \ | ||||
| 		(res)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ | ||||
| 		(res)->tv_sec += (res)->tv_usec / 1000000; \ | ||||
| 		(res)->tv_usec %= 1000000; \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| #define timerclear(tvp) \ | ||||
| 	do { \ | ||||
| 		(tvp)->tv_sec = 0; \ | ||||
| 		(tvp)->tv_usec = 0; \ | ||||
| 	} while (0) | ||||
| 
 | ||||
| #define timerisset(tvp) \ | ||||
| 	((tvp)->tv_sec || (tvp)->tv_usec) | ||||
| 
 | ||||
| #define timercmp(a, b, CMP) \ | ||||
| 	(((a)->tv_sec == (b)->tv_sec) \ | ||||
| 		? ((a)->tv_usec CMP (b)->tv_usec) \ | ||||
| 		: ((a)->tv_sec  CMP (b)->tv_sec)) | ||||
| 
 | ||||
| __END_DECLS | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue