linux系统编程代码1
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/sysmacros.h>
#include <time.h>
#include <unistd.h>
#define TIME_STRING_BUF 50
char * timestring(time_t t,char *buf)
{
struct tm *local;
local=localtime((&t);
strftime(buf,TIME_STRING_BUF,"%c",local);
return buf;
}
int statfile(const char * file)
{
struct stat statbuf;
char timebuf[TIME_STRING_BUF];
if (lstat(file,%statbuf))
{
fprintf(stderr,"could not lstat %s:%s\n",file,stderror(errno));
return 1;
}
printf("filename : %s\n",file);
printf("on device : major %d/minor %d inode number: %ld\n",major(statbuf.st_dev),minor(statbuf,st_dev),statbuf .st_ino)) )
printf("size :%-10ld type : %07o permissons :%05o",statbuf,st_size,statbuf .st_mode&S_IFMT,statbuf .st_mode&~(S_IFMT));
printf("ower :%d group :%d number of links :%d\n",statbuf .st_uid,statbuf .st_uid,statbuf .st_gid,statbuf .stnlink);
printf("change time :%s\n",timeString(statbuf ,st_ctime ,timeBuf));
printf("modified time :%s\n",timeString(statbuf ,st_ctime ,timeBuf));
printf("access time :%s\n",timeString(statbuf ,st_ctime ,timeBuf));
return 0;
int
main(int argc,const char **argv)
{
int i;
int rc=0;
for (i=1;i<argv;i++)
{
rc|=statFile(argv[i]);
if((argc-i)>1)
printf("\n");
}
return rc;
}
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
最近想在Linux主机上架设Oracle RAC,所以不断地收集相关资料,并进行实际研究.
相信大家很快就可以在我的博客中看到相关的研究心得了.
在Linux学习的这段时间,感觉它真是非常奇妙,让我对它的兴趣也越来越浓了,希望能够更好 ......
1. Linus和Bill
似乎在一夜之间,这个名字突然变得同象比尔。盖茨一样的耳熟能详。但是比尔。盖茨,
哪怕身价有数不清倍的百万美金,也永远不会变成Linux Torvalds。这位29岁的芬兰人,
简单而强大的Linux操作系统的创造者,超越了盖茨的神话。也有传闻说盖茨是一个
卓越的程序员,但Linus是货真价实的高手。还在大学里 ......
Linux 引导过程内幕
引导 Linux® 系统的过程包括很多阶段。不管您是引导一个标准的 x86 桌面系统,还是引导一台嵌入式的 PowerPC® 机器,很多流程都惊人地相似。本文将探索 Linux 的引导过程,从最初的引导到启动第一个用户空间应用程序。在本文介绍的过程中,您将学习到各种与引导有关的主题, ......