]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - include/net/iucv/iucv.h
Merge branch 'next/pm' of git://git.linaro.org/people/arnd/arm-soc
[mirror_ubuntu-zesty-kernel.git] / include / net / iucv / iucv.h
index 1121baa9f695828aa444de2b41f50b7cf0260f99..0894ced31957cf64f992e4676fdd402056e2a39b 100644 (file)
@@ -120,7 +120,7 @@ struct iucv_message {
        u32 reply_size;
        u8  rmmsg[8];
        u8  flags;
-};
+} __packed;
 
 /*
  * struct iucv_handler
@@ -459,3 +459,37 @@ int __iucv_message_send(struct iucv_path *path, struct iucv_message *msg,
 int iucv_message_send2way(struct iucv_path *path, struct iucv_message *msg,
                          u8 flags, u32 srccls, void *buffer, size_t size,
                          void *answer, size_t asize, size_t *residual);
+
+struct iucv_interface {
+       int (*message_receive)(struct iucv_path *path, struct iucv_message *msg,
+               u8 flags, void *buffer, size_t size, size_t *residual);
+       int (*__message_receive)(struct iucv_path *path,
+               struct iucv_message *msg, u8 flags, void *buffer, size_t size,
+               size_t *residual);
+       int (*message_reply)(struct iucv_path *path, struct iucv_message *msg,
+               u8 flags, void *reply, size_t size);
+       int (*message_reject)(struct iucv_path *path, struct iucv_message *msg);
+       int (*message_send)(struct iucv_path *path, struct iucv_message *msg,
+               u8 flags, u32 srccls, void *buffer, size_t size);
+       int (*__message_send)(struct iucv_path *path, struct iucv_message *msg,
+               u8 flags, u32 srccls, void *buffer, size_t size);
+       int (*message_send2way)(struct iucv_path *path,
+               struct iucv_message *msg, u8 flags, u32 srccls, void *buffer,
+               size_t size, void *answer, size_t asize, size_t *residual);
+       int (*message_purge)(struct iucv_path *path, struct iucv_message *msg,
+               u32 srccls);
+       int (*path_accept)(struct iucv_path *path, struct iucv_handler *handler,
+               u8 userdata[16], void *private);
+       int (*path_connect)(struct iucv_path *path,
+               struct iucv_handler *handler,
+               u8 userid[8], u8 system[8], u8 userdata[16], void *private);
+       int (*path_quiesce)(struct iucv_path *path, u8 userdata[16]);
+       int (*path_resume)(struct iucv_path *path, u8 userdata[16]);
+       int (*path_sever)(struct iucv_path *path, u8 userdata[16]);
+       int (*iucv_register)(struct iucv_handler *handler, int smp);
+       void (*iucv_unregister)(struct iucv_handler *handler, int smp);
+       struct bus_type *bus;
+       struct device *root;
+};
+
+extern struct iucv_interface iucv_if;