@@ -120,7 +120,7 @@ struct iucv_message {
120
120
u32 reply_size ;
121
121
u8 rmmsg [8 ];
122
122
u8 flags ;
123
- };
123
+ } __packed ;
124
124
125
125
/*
126
126
* struct iucv_handler
@@ -459,3 +459,37 @@ int __iucv_message_send(struct iucv_path *path, struct iucv_message *msg,
459
459
int iucv_message_send2way (struct iucv_path * path , struct iucv_message * msg ,
460
460
u8 flags , u32 srccls , void * buffer , size_t size ,
461
461
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