net: atm: bring back zatm uAPI
authorJakub Kicinski <kuba@kernel.org>
Wed, 10 Aug 2022 16:45:47 +0000 (09:45 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 11 Aug 2022 17:31:19 +0000 (10:31 -0700)
Jiri reports that linux-atm does not build without this header.
Bring it back. It's completely dead code but we can't break
the build for user space :(

Reported-by: Jiri Slaby <jirislaby@kernel.org>
Fixes: 052e1f01bfae ("net: atm: remove support for ZeitNet ZN122x ATM devices")
Link: https://lore.kernel.org/all/8576aef3-37e4-8bae-bab5-08f82a78efd3@kernel.org/
Link: https://lore.kernel.org/r/20220810164547.484378-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/uapi/linux/atm_zatm.h [new file with mode: 0644]

diff --git a/include/uapi/linux/atm_zatm.h b/include/uapi/linux/atm_zatm.h
new file mode 100644 (file)
index 0000000..5135027
--- /dev/null
@@ -0,0 +1,47 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* atm_zatm.h - Driver-specific declarations of the ZATM driver (for use by
+               driver-specific utilities) */
+
+/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */
+
+
+#ifndef LINUX_ATM_ZATM_H
+#define LINUX_ATM_ZATM_H
+
+/*
+ * Note: non-kernel programs including this file must also include
+ * sys/types.h for struct timeval
+ */
+
+#include <linux/atmapi.h>
+#include <linux/atmioc.h>
+
+#define ZATM_GETPOOL   _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc)
+                                               /* get pool statistics */
+#define ZATM_GETPOOLZ  _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc)
+                                               /* get statistics and zero */
+#define ZATM_SETPOOL   _IOW('a',ATMIOC_SARPRV+3,struct atmif_sioc)
+                                               /* set pool parameters */
+
+struct zatm_pool_info {
+       int ref_count;                  /* free buffer pool usage counters */
+       int low_water,high_water;       /* refill parameters */
+       int rqa_count,rqu_count;        /* queue condition counters */
+       int offset,next_off;            /* alignment optimizations: offset */
+       int next_cnt,next_thres;        /* repetition counter and threshold */
+};
+
+struct zatm_pool_req {
+       int pool_num;                   /* pool number */
+       struct zatm_pool_info info;     /* actual information */
+};
+
+#define ZATM_OAM_POOL          0       /* free buffer pool for OAM cells */
+#define ZATM_AAL0_POOL         1       /* free buffer pool for AAL0 cells */
+#define ZATM_AAL5_POOL_BASE    2       /* first AAL5 free buffer pool */
+#define ZATM_LAST_POOL ZATM_AAL5_POOL_BASE+10 /* max. 64 kB */
+
+#define ZATM_TIMER_HISTORY_SIZE        16      /* number of timer adjustments to
+                                          record; must be 2^n */
+
+#endif