__u8 buf[0];
};
-enum o2net_notifier_type {
- O2NET_CONN_UP,
- O2NET_CONN_DOWN,
- O2NET_CONN_ERR,
- O2NET_MAX_NOTIFIER,
-};
-
typedef int (o2net_msg_handler_func)(struct o2net_msg *msg, u32 len, void *data);
#define O2NET_MAX_PAYLOAD_BYTES (4096 - sizeof(struct o2net_msg))
O2NET_DRIVER_READY,
};
-int o2net_init_tcp_sock(struct inode *inode);
int o2net_send_message(u32 msg_type, u32 key, void *data, u32 len,
u8 target_node, int *status);
int o2net_send_message_vec(u32 msg_type, u32 key, struct kvec *vec,
size_t veclen, u8 target_node, int *status);
-int o2net_broadcast_message(u32 msg_type, u32 key, void *data, u32 len,
- struct inode *group);
int o2net_register_handler(u32 msg_type, u32 key, u32 max_len,
o2net_msg_handler_func *func, void *data,
void o2net_stop_listening(struct o2nm_node *node);
void o2net_disconnect_node(struct o2nm_node *node);
-void o2net_register_notifier(struct notifier_block *nb);
-void o2net_unregister_notifier(struct notifier_block *nb);
-void o2net_notify(enum o2net_notifier_type type, u8 node_num);
-
int o2net_init(void);
void o2net_exit(void);
-int o2net_proc_init(struct proc_dir_entry *parent);
-void o2net_proc_exit(struct proc_dir_entry *parent);
-
-struct o2net_send_tracking;
-void o2net_proc_add_nst(struct o2net_send_tracking *nst);
-void o2net_proc_del_nst(struct o2net_send_tracking *nst);
#endif /* O2CLUSTER_TCP_H */