コード例 #1
0
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;
}
コード例 #2
0
ファイル: SERIAL_FLASHLOG.C プロジェクト: jgambox/DCRabbit_9
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;
}
コード例 #3
0
ファイル: SERIAL_FLASHLOG.C プロジェクト: jgambox/DCRabbit_9
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;
}
コード例 #4
0
ファイル: SERDCLIENT.C プロジェクト: jgambox/DCRabbit_9
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);	
}
コード例 #5
0
ファイル: SPCLIENT.C プロジェクト: jgambox/DCRabbit_9
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);
}
コード例 #6
0
ファイル: SETRTCKB.C プロジェクト: jgambox/DCRabbit_9
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;
}