static extern int rcl_service_server_is_available(ref rcl_node_t node, ref rcl_client_t client, ref byte is_available);
static extern int rcl_get_topic_names_and_types(ref rcl_node_t node, ref rcl_topic_names_and_types_t topic_names_and_types);
static extern int rcl_count_publishers(ref rcl_node_t node, string topic_name, ref IntPtr count);
public rcl_subscription_base(Node _node, rosidl_message_type_support_t _type_support, string _topic_name, rcl_subscription_options_t _options) { native_node = _node.NativeNode; }
static extern int rcl_count_subscribers(ref rcl_node_t node, string topic_name, ref IntPtr count);
extern static int rcl_subscription_init(ref rcl_subscription_t subscription, ref rcl_node_t node, ref rosidl_message_type_support_t typesupport, string topic_name, ref rcl_subscription_options_t options);
extern static int rcl_subscription_fini(ref rcl_subscription_t subscription, ref rcl_node_t node);
extern static int rcl_publisher_init(ref rcl_publisher_t publisher, ref rcl_node_t node, ref rosidl_message_type_support_t type_support, string topic_name, ref rcl_publisher_options_t options);
extern static int rcl_publisher_fini(ref rcl_publisher_t publisher, ref rcl_node_t node);
static extern bool rcl_node_is_valid(ref rcl_node_t node);
static extern IntPtr rcl_node_get_name(ref rcl_node_t node);
static extern int rcl_node_fini(ref rcl_node_t node);
static extern int rcl_node_init(ref rcl_node_t node, [MarshalAs(UnmanagedType.LPStr)] string name, [MarshalAs(UnmanagedType.LPStr)] string namespace_, ref rcl_node_options_t options);
static extern int rcl_node_get_domain_id(ref rcl_node_t node, ref UIntPtr domain_id);
extern static int rcl_service_fini(ref rcl_service_t service, ref rcl_node_t node);
extern static int rcl_service_init(ref rcl_service_t service, ref rcl_node_t node, ref rosidl_service_type_support_t type_support, string topic_name, ref rcl_service_options_t options);