2010年8月18日 星期三

[Linux] socket的建立

struct sockaddr_in pin;
int mysock;

bzero(&pin, sizeof(pin));
pin.sin_family = AF_INET;
pin.sin_addr.s_addr = inet_addr("10.88.0.58");
pin.sin_port = htons(25);
mysock = socket(AF_INET, SOCK_STREAM, 0);
if (mysock == -1) {
printf("Smtpclient.c: Failed to establish socket for 10.88.0.58.\n");
return -1;
}

if (connect(mysock, (void *)&pin, sizeof(pin)) == -1) {
printf("Smtpclient.c: Failed to connect to 10.88.0.58.\n");
return -1;
}

2010年6月20日 星期日

2010年6月18日 星期五

[Linux] Jffs2 file system support in Uboot.

In include/configs/AST2050EVB.h
#define CONFIG_COMMANDS CFG_CMD_JFFS2

#undef CONFIG_JFFS2_CMDLINE
#define CONFIG_JFFS2_DEV "nor0"
#define CONFIG_JFFS2_PART_SIZE 0x1F0000
#define CONFIG_JFFS2_PART_OFFSET 0x50000

結果遇到Section Overlap, 解決的方式是修改Section的base address,
即是修改board/AST2050EVB/u-boot.lds。

2010年6月10日 星期四

[Linux] Enable Openipmi

modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si type=kcs ports=0xca8 regspacings=4

Running IPMI on Linux

2010年5月31日 星期一

[Linux]檢查某檔是否存在

struct stat fileStat;
if(stat("/etc/henbinfile", &fileStat) == 0){

printf("File exist.\n");
}
else{

printf("File not exist.\n");
}

若檔案存在,可透過fileStat去取得一些檔案資訊。

2010年5月26日 星期三

[Linux]取得從1970/1/1 00:00:00至今的秒數

# date +%s ->取得從1970/1/1 00:00:00至今的秒數

# date -d "1970-01-01 UTC 1181186915 seconds" ->將秒數轉換成年月日。

2010年5月13日 星期四

Mail server使用的記錄

1. 可以使用telnet xxx.xxx.xxx.xxx 25的方式去與Mail server連線。
連線後,可使用下列指令寄送mail。
a. HELO/EHLO
b. MAIL from: henbin@xxx.xxx.xxx
c. RCPT TO: henbin@xxx.xxx.xxx
d. DATA 開始輸入內文,也可以設定subject, sender等等的東西,最後"."作結束。

可參考SMTP指令說明

要使Sendmail可以給外部連線寄信,請參考下

Sendmail remote connection refused