1*cf5a6c84SAndroid Build Coastguard Worker /* usleep.c - Wait for a number of microseconds. 2*cf5a6c84SAndroid Build Coastguard Worker * 3*cf5a6c84SAndroid Build Coastguard Worker * Copyright 2012 Elie De Brauwer <[email protected]> 4*cf5a6c84SAndroid Build Coastguard Worker 5*cf5a6c84SAndroid Build Coastguard Worker USE_USLEEP(NEWTOY(usleep, "<1>1", TOYFLAG_BIN)) 6*cf5a6c84SAndroid Build Coastguard Worker 7*cf5a6c84SAndroid Build Coastguard Worker config USLEEP 8*cf5a6c84SAndroid Build Coastguard Worker bool "usleep" 9*cf5a6c84SAndroid Build Coastguard Worker default y 10*cf5a6c84SAndroid Build Coastguard Worker help 11*cf5a6c84SAndroid Build Coastguard Worker usage: usleep MICROSECONDS 12*cf5a6c84SAndroid Build Coastguard Worker 13*cf5a6c84SAndroid Build Coastguard Worker Pause for MICROSECONDS microseconds. 14*cf5a6c84SAndroid Build Coastguard Worker */ 15*cf5a6c84SAndroid Build Coastguard Worker 16*cf5a6c84SAndroid Build Coastguard Worker #include "toys.h" 17*cf5a6c84SAndroid Build Coastguard Worker usleep_main(void)18*cf5a6c84SAndroid Build Coastguard Workervoid usleep_main(void) 19*cf5a6c84SAndroid Build Coastguard Worker { 20*cf5a6c84SAndroid Build Coastguard Worker struct timespec tv; 21*cf5a6c84SAndroid Build Coastguard Worker long delay = atol(*toys.optargs); 22*cf5a6c84SAndroid Build Coastguard Worker 23*cf5a6c84SAndroid Build Coastguard Worker tv.tv_sec = delay/1000000; 24*cf5a6c84SAndroid Build Coastguard Worker tv.tv_nsec = (delay%1000000) * 1000; 25*cf5a6c84SAndroid Build Coastguard Worker toys.exitval = !!nanosleep(&tv, NULL); 26*cf5a6c84SAndroid Build Coastguard Worker } 27