linux/macros.h(new) and linux/list.h(mod) ...

Davide Libenzi
2001-07-05T20:58:44Z

[-- Attachment #1: Type: text/plain, Size: 292 bytes --]

This patch add a new linux/macros.h that is supposed to host utility macros
that otherwise developers are forced to define in their files.
This version contain only min(), max() and abs().
The other change is to linux/list.h by adding two members list_first() and
list_last().

- Davide

[-- Attachment #2: misc.diff --]
[-- Type: application/octet-stream, Size: 1077 bytes --]

diff -NBbru linux-2.4.6.vanilla/include/linux/list.h linux-2.4.6/include/linux/list.h
--- linux-2.4.6.vanilla/include/linux/list.h Fri Feb 16 16:06:17 2001
+++ linux-2.4.6/include/linux/list.h Mon Jul 2 16:14:27 2001
@@ -148,6 +148,10 @@
*/
#define list_for_each(pos, head) \
for (pos = (head)->next; pos != (head); pos = pos->next)
+
+#define list_first(head) (((head)->next != (head)) ? (head)->next: (struct list_head *) 0)
+
+#define list_last(head) (((head)->prev != (head)) ? (head)->prev: (struct list_head *) 0)

#endif /* __KERNEL__ || _LVM_H_INCLUDE */

diff -NBbru linux-2.4.6.vanilla/include/linux/macros.h linux-2.4.6/include/linux/macros.h
--- linux-2.4.6.vanilla/include/linux/macros.h Wed Dec 31 16:00:00 1969
+++ linux-2.4.6/include/linux/macros.h Wed Jul 4 16:41:31 2001
@@ -0,0 +1,19 @@
+#ifndef _LINUX_MACROS_H
+#define _LINUX_MACROS_H
+
+
+#ifndef min
+#define min(a, b) (((a) < (b)) ? (a): (b))
+#endif
+
+#ifndef max
+#define max(a, b) (((a) > (b)) ? (a): (b))
+#endif
+
+#ifndef abs
+#define abs(a) (((a) > 0) ? (a): -(a))
+#endif
+
+
+
+#endif