hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/include/linux/tty.h
....@@ -14,6 +14,7 @@
1414 #include <uapi/linux/tty.h>
1515 #include <linux/rwsem.h>
1616 #include <linux/llist.h>
17
+#include <linux/android_kabi.h>
1718
1819
1920 /*
....@@ -218,6 +219,8 @@
218219 int (*activate)(struct tty_port *port, struct tty_struct *tty);
219220 /* Called on the final put of a port */
220221 void (*destruct)(struct tty_port *port);
222
+
223
+ ANDROID_KABI_RESERVE(1);
221224 };
222225
223226 struct tty_port_client_operations {
....@@ -252,6 +255,8 @@
252255 set to size of fifo */
253256 struct kref kref; /* Ref counter */
254257 void *client_data;
258
+
259
+ ANDROID_KABI_RESERVE(1);
255260 };
256261
257262 /* tty_port::iflags bits -- use atomic bit ops */
....@@ -303,7 +308,10 @@
303308 spinlock_t flow_lock;
304309 /* Termios values are protected by the termios rwsem */
305310 struct ktermios termios, termios_locked;
306
- struct termiox *termiox; /* May be NULL for unsupported */
311
+
312
+ /* termiox is estored only for ABI preservation, do not use */
313
+ struct termiox *termiox;
314
+
307315 char name[64];
308316 struct pid *pgrp; /* Protected by ctrl lock */
309317 /*
....@@ -342,6 +350,9 @@
342350 /* If the tty has a pending do_SAK, queue it here - akpm */
343351 struct work_struct SAK_work;
344352 struct tty_port *port;
353
+
354
+ ANDROID_KABI_RESERVE(1);
355
+ ANDROID_KABI_RESERVE(2);
345356 } __randomize_layout;
346357
347358 /* Each of a tty's open files has private_data pointing to tty_file_private */
....@@ -422,6 +433,7 @@
422433 extern int tty_dev_name_to_number(const char *name, dev_t *number);
423434 extern int tty_ldisc_lock(struct tty_struct *tty, unsigned long timeout);
424435 extern void tty_ldisc_unlock(struct tty_struct *tty);
436
+extern ssize_t redirected_tty_write(struct kiocb *, struct iov_iter *);
425437 #else
426438 static inline void tty_kref_put(struct tty_struct *tty)
427439 { }
....@@ -759,8 +771,6 @@
759771
760772 /* tty_ioctl.c */
761773 extern int n_tty_ioctl_helper(struct tty_struct *tty, struct file *file,
762
- unsigned int cmd, unsigned long arg);
763
-extern long n_tty_compat_ioctl_helper(struct tty_struct *tty, struct file *file,
764774 unsigned int cmd, unsigned long arg);
765775
766776 /* vt.c */