当前位置: 技术问答>linux和unix
在LINUX下如何编程设置系统时间和IP地址????
来源: 互联网 发布时间:2015-01-06
本文导语: 在Redhat7.2下如何编程设置系统时间 和IP地址,设置IP后可以重新启动??? 请高手指点,谢谢。 | 1.设置系统时间 #include #include #include #include #include int set_date(struct tm *p_tm) { time_t wh...
在Redhat7.2下如何编程设置系统时间
和IP地址,设置IP后可以重新启动???
请高手指点,谢谢。
和IP地址,设置IP后可以重新启动???
请高手指点,谢谢。
|
1.设置系统时间
#include
#include
#include
#include
#include
int set_date(struct tm *p_tm)
{
time_t when;
struct timeval tv;
when = mktime(p_tm);
if (when == -1)
return -1;
tv.tv_sec = when;
tv.tv_usec = 0;
return settimeofday(&tv, (struct timezone *)0);
}
int main()
{
struct tm tm;
// 1976年11月26日 11:15:0
memset(&tm, 0, sizeof(tm));
tm.tm_sec = 0;
tm.tm_min = 15;
tm.tm_hour = 11;
tm.tm_mday = 26;
tm.tm_mon = 10;
tm.tm_year = 1976 - 1900;
if (set_date(&tm) == -1)
perror("set_date");
return 0;
}
2。设置ip地址
#include
#include
#include
#include
#include
#include
#include
#include
#include
int ifconfig(const char *ifname, const char *ipaddr)
{
struct sockaddr_in sin;
struct ifreq ifr;
int fd;
int ret;
char *ptr;
short found_colon = 0;
bzero(&ifr, sizeof(struct ifreq));
if (ifname == NULL)
return (-1);
if (ipaddr == NULL)
return (-1);
fd = socket(AF_INET, SOCK_DGRAM, 0);
if (fd == -1)
{
perror("Not create network socket connectionn");
return (-1);
}
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
ifr.ifr_name[IFNAMSIZ - 1] = 0;
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = inet_addr(ipaddr);
memcpy(&ifr.ifr_addr, &sin, sizeof(sin));
if (ioctl(fd, SIOCSIFADDR, &ifr)
#include
#include
#include
#include
#include
int set_date(struct tm *p_tm)
{
time_t when;
struct timeval tv;
when = mktime(p_tm);
if (when == -1)
return -1;
tv.tv_sec = when;
tv.tv_usec = 0;
return settimeofday(&tv, (struct timezone *)0);
}
int main()
{
struct tm tm;
// 1976年11月26日 11:15:0
memset(&tm, 0, sizeof(tm));
tm.tm_sec = 0;
tm.tm_min = 15;
tm.tm_hour = 11;
tm.tm_mday = 26;
tm.tm_mon = 10;
tm.tm_year = 1976 - 1900;
if (set_date(&tm) == -1)
perror("set_date");
return 0;
}
2。设置ip地址
#include
#include
#include
#include
#include
#include
#include
#include
#include
int ifconfig(const char *ifname, const char *ipaddr)
{
struct sockaddr_in sin;
struct ifreq ifr;
int fd;
int ret;
char *ptr;
short found_colon = 0;
bzero(&ifr, sizeof(struct ifreq));
if (ifname == NULL)
return (-1);
if (ipaddr == NULL)
return (-1);
fd = socket(AF_INET, SOCK_DGRAM, 0);
if (fd == -1)
{
perror("Not create network socket connectionn");
return (-1);
}
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
ifr.ifr_name[IFNAMSIZ - 1] = 0;
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = inet_addr(ipaddr);
memcpy(&ifr.ifr_addr, &sin, sizeof(sin));
if (ioctl(fd, SIOCSIFADDR, &ifr)