@@ -1038,9 +1038,9 @@ else version (OpenBSD)
1038
1038
{
1039
1039
ubyte ss_len;
1040
1040
sa_family_t ss_family;
1041
- byte [6 ] __ss_pad1;
1041
+ ubyte [6 ] __ss_pad1;
1042
1042
long __ss_align;
1043
- byte [240 ] __ss_pad2;
1043
+ ubyte [240 ] __ss_pad2;
1044
1044
}
1045
1045
1046
1046
struct msghdr
@@ -1063,20 +1063,25 @@ else version (OpenBSD)
1063
1063
1064
1064
enum : uint
1065
1065
{
1066
- SCM_RIGHTS = 0x01
1066
+ SCM_RIGHTS = 0x01 ,
1067
+ SCM_TIMESTAMP = 0x04
1067
1068
}
1068
1069
1069
1070
private // <sys/_types.h>
1070
1071
{
1071
- extern (D ) size_t _ALIGN(size_t p) { return (p + _ALIGNBYTES) & ~ _ALIGNBYTES; }
1072
+ enum _ALIGNBYTES = c_long.sizeof - 1 ;
1073
+ extern (D ) size_t _ALIGN(size_t p) pure nothrow @nogc
1074
+ {
1075
+ return (p + _ALIGNBYTES) & ~ _ALIGNBYTES;
1076
+ }
1072
1077
}
1073
1078
1074
- extern (D ) ubyte * CMSG_DATA (cmsghdr* cmsg)
1079
+ extern (D ) ubyte * CMSG_DATA (cmsghdr* cmsg) pure nothrow @nogc
1075
1080
{
1076
1081
return cast (ubyte * ) cmsg + _ALIGN(cmsghdr.sizeof);
1077
1082
}
1078
1083
1079
- extern (D ) cmsghdr* CMSG_NXTHDR (msghdr* mhdr, cmsghdr* cmsg)
1084
+ extern (D ) cmsghdr* CMSG_NXTHDR (msghdr* mhdr, cmsghdr* cmsg) pure nothrow @nogc
1080
1085
{
1081
1086
if (cast (ubyte * ) cmsg + _ALIGN(cmsg.cmsg_len) + _ALIGN(cmsghdr.sizeof) >
1082
1087
cast (ubyte * ) mhdr.msg_control + mhdr.msg_controllen)
@@ -1085,11 +1090,24 @@ else version (OpenBSD)
1085
1090
return cast (cmsghdr* ) (cast (ubyte * ) cmsg + _ALIGN(cmsg.cmsg_len));
1086
1091
}
1087
1092
1088
- extern (D ) cmsghdr* CMSG_FIRSTHDR (msghdr* mhdr)
1093
+ extern (D ) cmsghdr* CMSG_FIRSTHDR (msghdr* mhdr) pure nothrow @nogc
1089
1094
{
1090
1095
return mhdr.msg_controllen >= cmsghdr.sizeof ? cast (cmsghdr* ) mhdr.msg_control : null ;
1091
1096
}
1092
1097
1098
+ extern (D )
1099
+ {
1100
+ size_t CMSG_LEN (size_t len) pure nothrow @nogc
1101
+ {
1102
+ return _ALIGN (cmsghdr.sizeof) + len;
1103
+ }
1104
+ }
1105
+
1106
+ extern (D ) size_t CMSG_SPACE (size_t len) pure nothrow @nogc
1107
+ {
1108
+ return _ALIGN (cmsghdr.sizeof) + _ALIGN(len);
1109
+ }
1110
+
1093
1111
struct linger
1094
1112
{
1095
1113
int l_onoff;
0 commit comments