www.pudn.com > RTC.rar > settime.c


/* Settime.c version 1.3.22 */
/* written by kena,HHTECH */
#include 
#include 
#include 
#include 
#include 

#include 
#include 
int main(int argc,char** argv)
{
	int fd,length;
	char inputchar;
	struct rtc_time spaceofmytime,spaceofrtctime;
	struct rtc_time *mytime=&spaceofmytime;
	struct rtc_time *rtctime=&spaceofrtctime;
	/* this file is used like this:settime Year Month Day Hour Day Min Sec */
	/* etc settime 2008 5 2 18 34 56 --Set RTC-time to 2008,5,2,18:34:56 */ 
	printf("Hi...Welcome to Test-RTC programing!\n");
	printf("Version 1.3.22 written by kenan\n");
	fd=open("/dev/misc/rtc",O_RDWR);
	length=sizeof(*rtctime);
	if (argc!=7) {	
		printf("Parameter number wrong\n");
		exit(1);
	}
	mytime->tm_sec  = atoi(argv[6]) ;
    mytime->tm_min  = atoi(argv[5]) ;
	mytime->tm_hour = atoi(argv[4]) ; 	
	mytime->tm_mday = atoi(argv[3]) ;
	mytime->tm_mon  = atoi(argv[2]);
	mytime->tm_year = atoi(argv[1]);
	if (mytime->tm_year	<= 0) {
		printf("Year input wrong\n");
		exit(1);
	};
	if ( (mytime->tm_mon<= 0) || (mytime->tm_mon >=13) ) {
		printf("Month input wrong\n");
		exit(1);
	};
	if ( (mytime->tm_mday<= 0) || (mytime->tm_mday >=32) ) {
		printf("Day input wrong\n");
		exit(1);
	};
	if ( (mytime->tm_hour< 0) || (mytime->tm_hour >=24) ) {
		printf("Hour input wrong\n");
		exit(1);
	};
	if ( (mytime->tm_min<0) || (mytime->tm_min >=60) ) {
		printf("Minute input wrong\n");
		exit(1);
	};
	if ( (mytime->tm_sec<0) || (mytime->tm_sec >=60) ) {
		printf("Second input wrong\n");
		exit(1);
	};
	printf("SET TIME=%04d,%02d,%02d,%02d:%02d:%02d\n",mytime->tm_year,mytime->tm_mon,mytime->tm_mday,mytime->tm_hour,mytime->tm_min,mytime->tm_sec);
	ioctl(fd,RTC_SET_TIME,mytime);
	close(fd);
	return 0;
}