@@ -120,7 +120,7 @@ struct iucv_message {
120120 u32 reply_size ;
121121 u8 rmmsg [8 ];
122122 u8 flags ;
123- };
123+ } __packed ;
124124
125125/*
126126 * struct iucv_handler
@@ -459,3 +459,37 @@ int __iucv_message_send(struct iucv_path *path, struct iucv_message *msg,
459459int iucv_message_send2way (struct iucv_path * path , struct iucv_message * msg ,
460460 u8 flags , u32 srccls , void * buffer , size_t size ,
461461 void * answer , size_t asize , size_t * residual );
462+
463+ struct iucv_interface {
464+ int (* message_receive )(struct iucv_path * path , struct iucv_message * msg ,
465+ u8 flags , void * buffer , size_t size , size_t * residual );
466+ int (* __message_receive )(struct iucv_path * path ,
467+ struct iucv_message * msg , u8 flags , void * buffer , size_t size ,
468+ size_t * residual );
469+ int (* message_reply )(struct iucv_path * path , struct iucv_message * msg ,
470+ u8 flags , void * reply , size_t size );
471+ int (* message_reject )(struct iucv_path * path , struct iucv_message * msg );
472+ int (* message_send )(struct iucv_path * path , struct iucv_message * msg ,
473+ u8 flags , u32 srccls , void * buffer , size_t size );
474+ int (* __message_send )(struct iucv_path * path , struct iucv_message * msg ,
475+ u8 flags , u32 srccls , void * buffer , size_t size );
476+ int (* message_send2way )(struct iucv_path * path ,
477+ struct iucv_message * msg , u8 flags , u32 srccls , void * buffer ,
478+ size_t size , void * answer , size_t asize , size_t * residual );
479+ int (* message_purge )(struct iucv_path * path , struct iucv_message * msg ,
480+ u32 srccls );
481+ int (* path_accept )(struct iucv_path * path , struct iucv_handler * handler ,
482+ u8 userdata [16 ], void * private );
483+ int (* path_connect )(struct iucv_path * path ,
484+ struct iucv_handler * handler ,
485+ u8 userid [8 ], u8 system [8 ], u8 userdata [16 ], void * private );
486+ int (* path_quiesce )(struct iucv_path * path , u8 userdata [16 ]);
487+ int (* path_resume )(struct iucv_path * path , u8 userdata [16 ]);
488+ int (* path_sever )(struct iucv_path * path , u8 userdata [16 ]);
489+ int (* iucv_register )(struct iucv_handler * handler , int smp );
490+ void (* iucv_unregister )(struct iucv_handler * handler , int smp );
491+ struct bus_type * bus ;
492+ struct device * root ;
493+ };
494+
495+ extern struct iucv_interface iucv_if ;
0 commit comments