This repository has been archived by the owner on Oct 12, 2022. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 422
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move declarations here from std.c.* before deprecating it
- Loading branch information
1 parent
83053e8
commit 2f06c5a
Showing
11 changed files
with
624 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,210 @@ | ||
| /** | ||
| * Interface for Linux TIPC sockets, /usr/include/linux/tipc.h | ||
| * | ||
| * Copyright: Public Domain | ||
| * License: Public Domain | ||
| * Authors: Leandro Lucarella | ||
| */ | ||
|
|
||
| module core.sys.linux.tipc; | ||
|
|
||
| version (linux): | ||
| extern (C) nothrow @nogc: | ||
|
|
||
| struct tipc_portid | ||
| { | ||
| uint ref_; | ||
| uint node; | ||
| } | ||
|
|
||
| struct tipc_name | ||
| { | ||
| uint type; | ||
| uint instance; | ||
| } | ||
|
|
||
| struct tipc_name_seq | ||
| { | ||
| uint type; | ||
| uint lower; | ||
| uint upper; | ||
| } | ||
|
|
||
| struct tipc_subscr | ||
| { | ||
| tipc_name_seq seq; | ||
| uint timeout; | ||
| uint filter; | ||
| ubyte[8] usr_handle; | ||
| } | ||
|
|
||
| struct tipc_event | ||
| { | ||
| uint event; | ||
| uint found_lower; | ||
| uint found_upper; | ||
| tipc_portid port; | ||
| tipc_subscr s; | ||
| } | ||
|
|
||
| struct sockaddr_tipc | ||
| { | ||
| ushort family; | ||
| ubyte addrtype; | ||
| byte scope_; | ||
| union Addr | ||
| { | ||
| tipc_portid id; | ||
| tipc_name_seq nameseq; | ||
| static struct Name | ||
| { | ||
| tipc_name name; | ||
| uint domain; | ||
| } | ||
| Name name; | ||
| } | ||
| Addr addr; | ||
| } | ||
|
|
||
| uint tipc_addr(uint zone, uint cluster, uint node) | ||
| { | ||
| return (zone << 24) | (cluster << 12) | node; | ||
| } | ||
|
|
||
| unittest | ||
| { | ||
| assert (tipc_addr(0, 0, 0) == 0); | ||
| assert (tipc_addr(1, 1, 1) == 16781313); | ||
| assert (tipc_addr(2, 1, 27) == 33558555); | ||
| assert (tipc_addr(3, 1, 63) == 50335807); | ||
| } | ||
|
|
||
| uint tipc_zone(uint addr) | ||
| { | ||
| return addr >> 24; | ||
| } | ||
|
|
||
| unittest | ||
| { | ||
| assert (tipc_zone(0u) == 0); | ||
| assert (tipc_zone(16781313u) == 1); | ||
| assert (tipc_zone(33558555u) == 2); | ||
| assert (tipc_zone(50335807u) == 3); | ||
| } | ||
|
|
||
| uint tipc_cluster(uint addr) | ||
| { | ||
| return (addr >> 12) & 0xfff; | ||
| } | ||
|
|
||
| unittest | ||
| { | ||
| assert (tipc_cluster(0u) == 0); | ||
| assert (tipc_cluster(16781313u) == 1); | ||
| assert (tipc_cluster(33558555u) == 1); | ||
| assert (tipc_cluster(50335807u) == 1); | ||
| } | ||
|
|
||
| uint tipc_node(uint addr) | ||
| { | ||
| return addr & 0xfff; | ||
| } | ||
|
|
||
| unittest | ||
| { | ||
| assert (tipc_node(0u) == 0); | ||
| assert (tipc_node(16781313u) == 1); | ||
| assert (tipc_node(33558555u) == 27); | ||
| assert (tipc_node(50335807u) == 63); | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_CFG_SRV = 0, | ||
| TIPC_TOP_SRV = 1, | ||
| TIPC_RESERVED_TYPES = 64, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_ZONE_SCOPE = 1, | ||
| TIPC_CLUSTER_SCOPE = 2, | ||
| TIPC_NODE_SCOPE = 3, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_MAX_USER_MSG_SIZE = 66000, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_LOW_IMPORTANCE = 0, | ||
| TIPC_MEDIUM_IMPORTANCE = 1, | ||
| TIPC_HIGH_IMPORTANCE = 2, | ||
| TIPC_CRITICAL_IMPORTANCE = 3, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_OK = 0, | ||
| TIPC_ERR_NO_NAME = 1, | ||
| TIPC_ERR_NO_PORT = 2, | ||
| TIPC_ERR_NO_NODE = 3, | ||
| TIPC_ERR_OVERLOAD = 4, | ||
| TIPC_CONN_SHUTDOWN = 5, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_SUB_PORTS = 0x01, | ||
| TIPC_SUB_SERVICE = 0x02, | ||
| TIPC_SUB_CANCEL = 0x04, | ||
| } | ||
|
|
||
| version (none) enum: int | ||
| { | ||
| TIPC_SUB_NO_BIND_EVTS = 0x04, | ||
| TIPC_SUB_NO_UNBIND_EVTS = 0x08, | ||
| TIPC_SUB_SINGLE_EVT = 0x10, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_WAIT_FOREVER = ~0, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
|
|
||
| TIPC_PUBLISHED = 1, | ||
| TIPC_WITHDRAWN = 2, | ||
| TIPC_SUBSCR_TIMEOUT = 3, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| AF_TIPC = 30, | ||
| PF_TIPC = 30, | ||
| SOL_TIPC = 271, | ||
| TIPC_ADDR_NAMESEQ = 1, | ||
| TIPC_ADDR_MCAST = 1, | ||
| TIPC_ADDR_NAME = 2, | ||
| TIPC_ADDR_ID = 3, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_ERRINFO = 1, | ||
| TIPC_RETDATA = 2, | ||
| TIPC_DESTNAME = 3, | ||
| } | ||
|
|
||
| enum: int | ||
| { | ||
| TIPC_IMPORTANCE = 127, | ||
| TIPC_SRC_DROPPABLE = 128, | ||
| TIPC_DEST_DROPPABLE = 129, | ||
| TIPC_CONN_TIMEOUT = 130, | ||
| } | ||
|
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.