#include #include static int dm_command(int command,const char *device) { int ret=0; struct dm_task *dmt; dmt=dm_task_create(command); if(!dmt) return 0; if(!dm_task_set_name(dmt,device)) goto fail; ret=dm_task_run(dmt); fail: dm_task_destroy(dmt); return ret; } int main(int argc,char *argv[]) { if(argc<2) { printf("%s \n",argv[0]); return 1; } dm_udev_set_sync_support(0); printf("Suspending and resuming %s\n",argv[1]); for(;;) { if(!dm_command(DM_DEVICE_SUSPEND,argv[1])) { fprintf(stderr,"Unable to suspend %s\n",argv[1]); break; } printf("/\r"); fflush(stdout); if(!dm_command(DM_DEVICE_RESUME,argv[1])) { fprintf(stderr,"Unable to resume %s\n",argv[1]); break; } printf("\\\r"); fflush(stdout); } return 0; }