/* * cn_send.c */ #include #include #include #include #include #include static struct cb_id cn_send_id = { 0x3, 0x1 }; static int seq_id = 0; void my_send_test(void) { struct cn_msg *msg; char data[32]; int ret; msg = kmalloc(sizeof(*msg) + sizeof(data), GFP_ATOMIC); memset(msg, 0, sizeof(*msg) + sizeof(data)); msg->id.idx = cn_send_id.idx; msg->id.val = cn_send_id.val; msg->ack = 0; msg->seq = seq_id++; msg->len = 5; msg->len = sizeof(data); msg->len = scnprintf(data, sizeof(data), "Ping") + 1; memcpy(msg + 1, data, msg->len); ret = cn_netlink_send(msg, cn_send_id.idx, gfp_any()); kfree(msg); printk("Sent, retval: %i\n", ret); } static int cn_send_init(void) { my_send_test(); return 0; } static void cn_send_fini(void) { printk(KERN_INFO "cn_send unloaded\n"); } module_init(cn_send_init); module_exit(cn_send_fini); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Libor Vanek "); MODULE_DESCRIPTION("Connector's test send module");