int log_cgi(HttpState *state) { auto int x; static far char buffer[512]; auto int my_xpc; auto struct tm time; auto sockaddr sock_addr; #GLOBAL_INIT { count = 0; } _f_memset(buffer, 0, sizeof buffer); x = sizeof sock_addr; getpeername((sock_type *) &state->s, &sock_addr, &x); tm_rd(&time); sprintf(buffer, "%02d/%02d/%04d %02d:%02d:%02d - %d.%d.%d.%d<br>", tm_mon2month(time.tm_mon), time.tm_mday, time.tm_year + 1900, time.tm_hour, time.tm_min, time.tm_sec, *(((char *) &sock_addr.s_ip) + 3), *(((char *) &sock_addr.s_ip) + 2), *(((char *) &sock_addr.s_ip) + 1), *(((char *) &sock_addr.s_ip) + 0)); x = append_log(buffer); ++count; return 1; }
int log_cgi(HttpState* state) { int x; char buffer[512]; int my_xpc; struct tm time; sockaddr sock_addr; #GLOBAL_INIT { count=0; } memset(buffer,0,sizeof(buffer)); x=sizeof(sock_addr); getpeername((sock_type*)&state->s,&sock_addr,&x); tm_rd(&time); sprintf(buffer, "%02d/%02d/%04d %02d:%02d:%02d - %d.%d.%d.%d<br>", time.tm_mon, time.tm_mday, time.tm_year+1900, time.tm_hour, time.tm_min, time.tm_sec, *(((char*)&sock_addr.s_ip)+3), *(((char*)&sock_addr.s_ip)+2), *(((char*)&sock_addr.s_ip)+1), *(((char*)&sock_addr.s_ip)+0)); x = append_log(buffer); count++; return 1; }
void update_date() { auto struct tm time; #GLOBAL_INIT { date_lock=0; } if(date_lock) return; tm_rd(&time); month=time.tm_mon; day=time.tm_mday; year=time.tm_year+1900; hour=time.tm_hour; minute=time.tm_min; second=time.tm_sec; }
void main() { char s[250]; int len; long secs; struct tm t; // This baud rate is slow because of issues writing // to the first flash while reading from the serial // port--see console.c for more details serDopen(300); // make sure we are not in the middle of a command serDputs("\n"); // turn the RCM2200's local echo off serDputs("echo off\n"); get_ser_response(s, 200, 1500); printf("RCM2200 returned: %s", s); // delete old web page (if it exists) serDputs("delete demo.html\n"); get_ser_response(s, 200, 1500); printf("RCM2200 returned: %s", s); // create the web page serDputs("put demo.html\r"); serDputs("<H2>A demonstration web page</H2>\n"); // get the current time tm_rd(&t); sprintf(s, "Created on %02d/%02d/%04d at %02d:%02d:%02d\n", t.tm_mon, t.tm_mday, t.tm_year+1900, t.tm_hour, t.tm_min, t.tm_sec); serDputs(s); // end web page sprintf(s, "%c", CTRL_D); serDputs(s); // this response takes a bit longer get_ser_response(s, 200, 15000); printf("RCM2200 returned: %s", s); }
main() { char s[250]; int len; long secs; struct tm t; int retval; MSinit(0); // make sure we are not in the middle of a command MSputs("\n"); // turn the RCM2200's local echo off MSputs("echo off\n"); get_ser_response(s, 200, 250); printf("RCM2200 returned: %s", s); // delete old web page (if it exists) MSputs("delete demo.html\n"); get_ser_response(s, 200, 250); printf("RCM2200 returned: %s", s); // create the web page MSputs("put demo.html\n"); MSputs("<H2>A demonstration web page</H2>\n"); // get the current time tm_rd(&t); sprintf(s, "Created on %02d/%02d/%04d at %02d:%02d:%02d\r", t.tm_mon, t.tm_mday, t.tm_year+1900, t.tm_hour, t.tm_min, t.tm_sec); MSputs(s); // end web page sprintf(s, "%c", CTRL_D); MSputs(s); // this response takes a bit longer get_ser_response(s, 200, 1500); printf("RCM2200 returned: %s", s); }
int main() { char *p, *endptr, s[80], *e; unsigned int month, day, year, hour, minute, second, done; struct tm rtc; // time struct unsigned long t0; // seconds int i, j; for (i = 0; i < 80; ++i) s[i] = 0; ////////////////////////////////////////////////// // print current date/time printf("The current RTC date/time is:\n\n"); tm_rd(&rtc); printf("%02d/%02d/%04d %02d:%02d:%02d\n\n", rtc.tm_mon, rtc.tm_mday, 1900+rtc.tm_year, rtc.tm_hour, rtc.tm_min, rtc.tm_sec); done = 0; while (!done) { printf("Enter the correct date/time as: mm/dd/yy hh:mm:ss\n"); printf(" ( Valid dates are from 01/01/80 thru 12/31/47 )\n"); printf("or just press Enter to exit with date/time unchanged:\n\n"); gets(s); p = s; if (!*p) { printf("The date and time are unchanged.\n"); return 0; } month = (unsigned int)strtod(p, &endptr); if (endptr != p && month > 0 && month < 13) { p = endptr + 1; day = (unsigned int)strtod(p, &endptr); if (endptr != p && day > 0 && day < 32) { p = endptr + 1; year = (unsigned int)strtod(p, &endptr); if (endptr != p && (year < 48 || year > 79) && year < 100) { if (year < 48) year += 100; p = endptr + 1; hour = (unsigned int)strtod(p, &endptr); if (endptr != p && hour < 25) { p = endptr + 1; minute = (unsigned int)strtod(p, &endptr); if (endptr != p && minute < 61) { p = endptr + 1; second = (unsigned int)strtod(p, &endptr); if (second < 61) { done = 1; } else { e = "SECOND"; } } else { e = "MINUTE"; } } else { e = "HOUR"; } } else { e = "YEAR"; } } else { e = "DAY"; } } else { e = "MONTH"; } if (!done) { printf("\n\n%s Error\n\n\n", e); continue; } } ////////////////////////////////////////////////// // change the date/time via tm_wr rtc.tm_sec = second; // 0-59 rtc.tm_min = minute; // 0-59 rtc.tm_hour = hour; // 0-23 rtc.tm_mday = day; // 1-31 rtc.tm_mon = month; // 1-12 rtc.tm_year = year; // 80-147, add 1900 to get year // (i.e. 99 -> 1999) tm_wr(&rtc); // set clock printf("RTC changed!\n\n"); ////////////////////////////////////////////////// // print new date/time // Note that read_rtc() will report the correct time now, // but tm_rd() will read incorrectly until a program is restarted! printf("The RTC date/time now is:\n\n"); t0 = read_rtc(); mktm(&rtc, t0); printf("%02d/%02d/%04d %02d:%02d:%02d\n\n", rtc.tm_mon, rtc.tm_mday, 1900+rtc.tm_year, rtc.tm_hour, rtc.tm_min, rtc.tm_sec); printf("The SEC_TIMER variable used by tm_rd() will be reset\n"); printf("properly when you restart this (or any other) program.\n"); return 0; }