void SkiLift::occupiedLiftSeatsPrinter_nc(){ string str="Zajete miejsca"; int y,x; switch (liftID) { case LIFT_A: y=13; x=45; break; case LIFT_B: y=4; x=41; break; case LIFT_C: y=4; x=20; break; } print_ts(y,x,str.c_str()); x+=str.size()/2; y++; str=""; unique_lock<mutex> lk(occupiedLiftSeatsPrinter_mutex); for(;;){ cv_occupiedSeats_printer_nc.wait(lk); clr_line_ts(y,x,str.size()); str=to_string(liftingSkiiersCount); print_ts(y,x,str.c_str()); } }
void SkiLift::queuePrinter_nc(){ string str="Kolejka:"; int y,x; switch (liftID) { case LIFT_A: y=18; x=30; break; case LIFT_B: y=9; x=60; break; case LIFT_C: y=9; x=5; break; } print_ts(y,x,str.c_str()); x+=str.size(); str=""; unique_lock<mutex> lk(queuePrinter_mutex); for(;;){ cv_queue_printer_nc.wait(lk); clr_line_ts(y,x,str.size()); str=to_string(_queue.size()); print_ts(y,x,str.c_str()); } }
void read_sup (parser_state_t *ps) { sup_header_t h; safe_read(&h, sizeof(h), ps->fh, "PG header"); conv_sup_header(&h); if (h.m1 != 80 || h.m2 != 71) die(ps->fh, sizeof(h), "Invalid PG header."); printf("Packet at 0x%08x:\nstart_time = ", (unsigned int)(ftell(ps->fh) - sizeof(h))); print_ts(h.start_time); printf("\ndts = "); print_ts(h.dts); printf("\ntype = 0x%02X\n", h.packet_type); printf("length = %u\n", h.packet_len); switch (h.packet_type) { case 0x14: read_palette(ps, h); break; case 0x15: read_odsf(ps, h); break; case 0x16: switch (h.packet_len) { case 11: read_pcs_end(ps, h); break; case 19: case 27: read_pcs_start(ps, h); break; default: die(ps->fh, sizeof(h), "Invalid PCS size."); } break; case 0x17: read_wds(ps, h); break; case 0x80: if (h.packet_len == 0) printf("Marker\n"); else die(ps->fh, sizeof(h), "Marker with payload."); break; default: die(ps->fh, sizeof(h), "Unknown packet type."); } printf("\n"); }
void SkiLift::awaitingForBusPrinter_nc() { string str=":"; int y=19,x=38; print_ts(y,x,str.c_str()); x+=str.size(); unique_lock<mutex> lk(awaitingForBusPrinter_mutex); for(;;){ cv_awaitingForBus_printer_nc.wait(lk); clr_line_ts(y,x,str.size()); str=to_string(awaitingForBus); print_ts(y,x,str.c_str()); } };
void vprint_on_level(unsigned int loglevel, const char *format, va_list params) { int fd, size, ret, off = 0; int __errno = errno; if (unlikely(loglevel == LOG_MSG)) { fd = STDOUT_FILENO; off = buf_off; /* skip dangling timestamp */ } else { if (loglevel > current_loglevel) return; fd = log_get_fd(); if (current_loglevel >= LOG_TIMESTAMP) print_ts(); } size = vsnprintf(buffer + buf_off, sizeof buffer - buf_off, format, params); size += buf_off; while (off < size) { ret = write(fd, buffer + off, size - off); if (ret <= 0) break; off += ret; } if (loglevel == LOG_ERROR) log_note_err(buffer + buf_off); errno = __errno; }
static void __print_on_level(unsigned int loglevel, const char *format, va_list params) { int fd, size, ret, off; if (unlikely(loglevel == LOG_MSG)) { fd = STDOUT_FILENO; off = buf_off; } else { if (loglevel > current_loglevel) return; fd = log_get_fd(); print_ts(); off = 0; } size = vsnprintf(buffer + buf_off, PAGE_SIZE - buf_off, format, params); size += buf_off; while (off < size) { ret = write(fd, buffer + off, size - off); if (ret <= 0) break; off += ret; } }
void City::skiersAmountPrinter_nc() { int y=23,x=36; string buffor=":"; print_ts(y,x,buffor.c_str()); x++; buffor=""; unique_lock<mutex> lk(skiersAmountPrinter_mutex); for(;;) { cv_skiersAmountPrinter.wait(lk); clr_line_ts(y,x,buffor.size()); buffor=to_string(awaitingSkiers); print_ts(y,x,buffor.c_str()); } }
int main(void) { static const char fname[] = "utimensat\nfilename"; assert(utimensat(AT_FDCWD, fname, NULL, 0) == -1); if (ENOENT != errno) error_msg_and_skip("utimensat"); #define PREFIX "utimensat(AT_FDCWD, \"utimensat\\nfilename\", " printf(PREFIX "NULL, 0) = -1 ENOENT (%m)\n"); struct timeval tv; struct timespec ts[2]; if (gettimeofday(&tv, NULL)) perror_msg_and_skip("gettimeofday"); ts[0].tv_sec = tv.tv_sec; ts[0].tv_nsec = tv.tv_usec; ts[1].tv_sec = tv.tv_sec - 1; ts[1].tv_nsec = tv.tv_usec + 1; printf(PREFIX "["); print_ts(&ts[0]); printf(", "); print_ts(&ts[1]); printf("], AT_SYMLINK_NOFOLLOW) = -1 ENOENT "); assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1); if (ENOENT != errno) error_msg_and_skip("utimensat"); printf("(%m)\n"); ts[0].tv_nsec = UTIME_NOW; ts[1].tv_nsec = UTIME_OMIT; assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1); if (ENOENT != errno) error_msg_and_skip("utimensat"); printf(PREFIX "[UTIME_NOW, UTIME_OMIT], AT_SYMLINK_NOFOLLOW)" " = -1 ENOENT (%m)\n"); puts("+++ exited with 0 +++"); return 0; }
int main(void) { static const kernel_ulong_t bogus_fd = (kernel_ulong_t) 0xbadc0deddeadbeef; static const kernel_ulong_t kfdcwd = (kernel_ulong_t) 0xdefaced00000000 | -100U; static const char proto_fname[] = "utimensat\nfilename"; static const char qname[] = "\"utimensat\\nfilename\""; char *const fname = tail_memdup(proto_fname, sizeof(proto_fname)); const kernel_ulong_t kfname = (uintptr_t) fname; struct timespec *const ts = tail_alloc(sizeof(*ts) * 2); (void) close(0); /* dirfd */ k_utimensat(0, kfname, 0, 0); printf("utimensat(0, %s, NULL, 0) = %s\n", qname, errstr); k_utimensat(bogus_fd, kfname, 0, 0); printf("utimensat(%d, %s, NULL, 0) = %s\n", (int) bogus_fd, qname, errstr); k_utimensat(-100U, kfname, 0, 0); printf("utimensat(" str_at_fdcwd ", %s, NULL, 0) = %s\n", qname, errstr); k_utimensat(kfdcwd, kfname, 0, 0); printf("utimensat(" str_at_fdcwd ", %s, NULL, 0) = %s\n", qname, errstr); /* pathname */ k_utimensat(kfdcwd, 0, 0, 0); printf("utimensat(" str_at_fdcwd ", NULL, NULL, 0) = %s\n", errstr); k_utimensat(kfdcwd, kfname + sizeof(proto_fname) - 1, 0, 0); printf("utimensat(" str_at_fdcwd ", \"\", NULL, 0) = %s\n", errstr); fname[sizeof(proto_fname) - 1] = '+'; k_utimensat(kfdcwd, kfname, 0, 0); fname[sizeof(proto_fname) - 1] = '\0'; printf("utimensat(" str_at_fdcwd ", %p, NULL, 0) = %s\n", fname, errstr); if (F8ILL_KULONG_SUPPORTED) { k_utimensat(kfdcwd, f8ill_ptr_to_kulong(fname), 0, 0); printf("utimensat(" str_at_fdcwd ", %#jx, NULL, 0) = %s\n", (uintmax_t) f8ill_ptr_to_kulong(fname), errstr); } /* times */ k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 1), 0); printf("utimensat(" str_at_fdcwd ", %s, %p, 0) = %s\n", qname, ts + 1, errstr); k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 2), 0); printf("utimensat(" str_at_fdcwd ", %s, %p, 0)" " = %s\n", qname, ts + 2, errstr); ts[0].tv_sec = 1492358706; ts[0].tv_nsec = 123456789; ts[1].tv_sec = 1492357068; ts[1].tv_nsec = 234567890; k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100); printf("utimensat(" str_at_fdcwd ", %s, [", qname); print_ts(&ts[0]); printf(", "); print_ts(&ts[1]); printf("], " str_at_symlink_nofollow ") = %s\n", errstr); ts[0].tv_sec = -1; ts[0].tv_nsec = 2000000000; ts[1].tv_sec = (time_t) -0x100000001LL; ts[1].tv_nsec = 2345678900U; k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100); printf("utimensat(" str_at_fdcwd ", %s, [", qname); print_ts(&ts[0]); printf(", "); print_ts(&ts[1]); printf("], " str_at_symlink_nofollow ") = %s\n", errstr); ts[0].tv_sec = 0; ts[0].tv_nsec = 0; ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL; ts[1].tv_nsec = 0; k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100); printf("utimensat(" str_at_fdcwd ", %s, [", qname); print_ts(&ts[0]); printf(", "); print_ts(&ts[1]); printf("], " str_at_symlink_nofollow ") = %s\n", errstr); ts[0].tv_sec = 0xdeadbeefU; ts[0].tv_nsec = 0xfacefeedU; ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL; ts[1].tv_nsec = (long) 0xbadc0dedfacefeedLL; k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100); printf("utimensat(" str_at_fdcwd ", %s, [", qname); print_ts(&ts[0]); printf(", "); print_ts(&ts[1]); printf("], " str_at_symlink_nofollow ") = %s\n", errstr); ts[0].tv_nsec = UTIME_NOW; ts[1].tv_nsec = UTIME_OMIT; k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100); printf("utimensat(" str_at_fdcwd ", %s, " str_utime_now_omit ", " str_at_symlink_nofollow ") = %s\n", qname, errstr); if (F8ILL_KULONG_SUPPORTED) { k_utimensat(kfdcwd, kfname, f8ill_ptr_to_kulong(ts), 0); printf("utimensat(" str_at_fdcwd ", %s, %#jx, 0) = %s\n", qname, (uintmax_t) f8ill_ptr_to_kulong(ts), errstr); } /* flags */ k_utimensat(kfdcwd, kfname, (uintptr_t) ts, (kernel_ulong_t) 0xdefaced00000200); printf("utimensat(" str_at_fdcwd ", %s, " str_utime_now_omit ", " str_at_removedir ") = %s\n", qname, errstr); k_utimensat(kfdcwd, kfname, (uintptr_t) ts, (kernel_ulong_t) 0xdefaced00000600); printf("utimensat(" str_at_fdcwd ", %s, " str_utime_now_omit ", " str_flags1 ") = %s\n", qname, errstr); k_utimensat(kfdcwd, kfname, (uintptr_t) ts, (kernel_ulong_t) -1ULL); printf("utimensat(" str_at_fdcwd ", %s, " str_utime_now_omit ", " str_flags2 ") = %s\n", qname, errstr); puts("+++ exited with 0 +++"); return 0; }