DNS查询数据信

头部信息

16bit 这是由生成DNS查询的程序指定的ID,在一个请求中标识应答属于那个请求
z
16bit的标志 字段

1bit QR,查询/相应的标志位,0 查询,1 应答 (全文…)

C实现配置文件(Ini文件)读取,跨平台

config.h

#ifndef __CONFIG_H__
#define __CONFIG_H__

#include \"list.h\"

typedef struct config_node {
	char *section;
	char *name;
	char *value;
} config_node_t;

int config_node_add(list_t *list, char *section, char *name, char *value);
int config_load(list_t **list, const char *filepath);
char *config_get(list_t *list, const char *section, const char *name, const char *def);
void config_free(list_t *list);

#endif /* __CONFIG_H__ */

(全文…)

C实现的双向链表

源代码

list.h

#ifndef __LIST_H__
#define __LIST_H__

typedef struct list_node
{
	struct list_node *prv;
	struct list_node *next;
	void *data;
} list_node_t;

typedef struct
{
	list_node_t *first;
	list_node_t *last;
	int size;
} list_t;

int list_init(list_t **list);
int list_add(list_t *list, void *data);
void *list_get(list_t *list, int index);
int list_remove(list_t *list, int index, void (*data_free) (void *));
void list_free(list_t *list, void (*data_free) (void *));

#endif /* __LIST_H__ */

(全文…)

GTK 透明窗口实现

异形窗口利用蒙板(mask)实现,蒙板的数据从图片获得,每一点只有透明和不透明两种状态,不透明区域显示该窗口的背景,透明区域显示其后桌面或其它应用 (全文…)