[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

I'm translating man page socket(2), how to add it to svn tree



I don't know how to make a man page,translation hasn't been completed yet, it's too long , but I will try to do. I wonder how to add it to svn tree and which tree.
Here is a part of it, some sentences are not correct.

SOCKET(2)

名字
socket - 建立一个用于交流的端点

概要
#include <sys/type.h> /*参见注意*/
#include <sys/socket.h>

int socket(int domain, int type, int protocol);

描述
socket() 建立一个用于交流的端点并且返回一个描述。

domain 参数指定一个通讯域名;选择的协议将会用于通讯。协议名在 <sys/socket.h> 中定义。目前已知的格式包括:

名称 目的 手册页
AF_UNIX, AF_LOCAL 本地通讯 unix(7)
AF_INET IPv4 网络协议 ip(7)
AF_INET6 IPv6 网络协议 ipv6(7)
AF_IPX IPX - Novell 协议
AF_NETLINK Kernel user interface device netlink(7)
AF_X25 ITU-T X.25 / ISO-8208 协议 x25(7)
AF_AX25 Amateur radio AX.25 协议
AF_ATMPVC Access to raw ATM PVCs
AF_APPLETALK Appletalk ddp(7)
AF_PACKET Low level packet interface packet(7)

socket 通过 type 参数来确定通信语义。目前定义的类型有:

SOCK_STREAM 提供有序的,可靠的,双向的,基于字节流的通讯。可能支持多信道 传输。

SOCK_DGRAM 提供数据报(不面向连接的, 不可靠的固定最大长度的信息)

SOCK_SEQPACKET 提供有序的,可靠的,双向的,基于固定最大长度的数据报传输 路径;需要一个读取整个伴有输入系统调用的包的用户。

SOCK_RAW 提供未加工(raw)的网络协议通道。

SOCK_RDM 提供可靠的数据报层,但是不保证顺序。

SOCK_PACKET 废弃的,不应该在新的程序中使用,参考packet(7)。

一些 socket 类型并未被所有的协议实现; 例如,SOCK_SEQPACKET 并不被 AF_INET 实现。

从 Linux 2.6.27 开始, type 参数可以提供其他的功能: 注意一些 socket 类 型可能包括一下值的或位,用来修改 socket() 的行为。

SOCK_NONBLOCK 设置 O_NONBLOCK 的标志于新打开的文件描述符。 通过这个标志 可以不用调用 fcntl(2) 来达到相同的结果。

SOCK_CLOEXEC 设置 close-on-exec (FD_CLOEXEC) 的标志于新打开的文件描述 符。参加 open(2) 中关于 O_CLOEXEC 的描述,因为
一些原因这个标志很有用。

protocol 指定一个协议用于 socket 。一般情况下,在给定的协议中只允许在一 个 socket 上使用一个协议, 注意 protocol 可以知道为数字 0 。 但是, 可能存在着很多协议, 但是在本手册的协议必须使用一个。协议用于指定 通讯发生地方的“通讯域名”, 参考 protocol(5) 。
参考 getprotoent(3) 中关于如何把协议名称字符串与协议编号进行映射。


Reply to: