📄 get_rtaddrs.lc
字号:
#include "unproute.h"## 1 ##src/libroute/get_rtaddrs.c##/*## 2 ##src/libroute/get_rtaddrs.c## * Round up 'a' to next multiple of 'size'## 3 ##src/libroute/get_rtaddrs.c## */## 4 ##src/libroute/get_rtaddrs.c###define ROUNDUP(a, size) (((a) & ((size)-1)) ? (1 + ((a) | ((size)-1))) : (a))## 5 ##src/libroute/get_rtaddrs.c##/*## 6 ##src/libroute/get_rtaddrs.c## * Step to next socket address structure;## 7 ##src/libroute/get_rtaddrs.c## * if sa_len is 0, assume it is sizeof(u_long).## 8 ##src/libroute/get_rtaddrs.c## */## 9 ##src/libroute/get_rtaddrs.c###define NEXT_SA(ap) ap = (SA *) \## 10 ##src/libroute/get_rtaddrs.c## ((caddr_t) ap + (ap->sa_len ? ROUNDUP(ap->sa_len, sizeof (u_long)) : \## 11 ##src/libroute/get_rtaddrs.c## sizeof(u_long)))## 12 ##src/libroute/get_rtaddrs.c##void## 13 ##src/libroute/get_rtaddrs.c##get_rtaddrs(int addrs, SA *sa, SA **rti_info)## 14 ##src/libroute/get_rtaddrs.c##{## 15 ##src/libroute/get_rtaddrs.c## int i;## 16 ##src/libroute/get_rtaddrs.c## for (i = 0; i < RTAX_MAX; i++) {## 17 ##src/libroute/get_rtaddrs.c## if (addrs & (1 << i)) {## 18 ##src/libroute/get_rtaddrs.c## rti_info[i] = sa;## 19 ##src/libroute/get_rtaddrs.c## NEXT_SA(sa);## 20 ##src/libroute/get_rtaddrs.c## } else## 21 ##src/libroute/get_rtaddrs.c## rti_info[i] = NULL;## 22 ##src/libroute/get_rtaddrs.c## }## 23 ##src/libroute/get_rtaddrs.c##}## 24 ##src/libroute/get_rtaddrs.c##
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -