? sys/miscfs/procfs/ChangeLog
? sys/miscfs/procfs/vi.core
Index: sys/miscfs/procfs/procfs.h
===================================================================
RCS file: /cvsroot/src/sys/miscfs/procfs/procfs.h,v
retrieving revision 1.75
diff -p -u -r1.75 procfs.h
--- sys/miscfs/procfs/procfs.h 30 Mar 2019 23:28:30 -0000 1.75
+++ sys/miscfs/procfs/procfs.h 25 Apr 2019 20:46:45 -0000
@@ -115,6 +115,7 @@ typedef enum {
#ifdef __HAVE_PROCFS_MACHDEP
PROCFS_MACHDEP_NODE_TYPES
#endif
+ PFSlast, /* track number of types */
} pfstype;
/*
@@ -163,11 +164,14 @@ struct procfs_args {
#define UIO_MX 32
+#define PROCFS_FDLAST 2048
#define PROCFS_FILENO(pid, type, fd) \
- (((type) < PFSproc) ? ((type) + 2) : \
- (((fd) == -1) ? ((((pid)+1) << 5) + ((int) (type))) : \
- ((((pid)+1) << 16) | ((fd) << 5) | ((int) (type)))))
-#define PROCFS_TYPE(type) ((type) & 0x1f)
+ ( (type) == PFSroot ? 2 \
+ : (type) == PFScurproc ? 3 \
+ : (type) == PFSself ? 4 \
+ : (fd) == -1 ? ((pid)+1) * PFSlast + (type) \
+ : (((pid)+1) * PROCFS_FDLAST + (fd)) * PFSlast + (type))
+#define PROCFS_TYPE(type) ((type) % PFSlast)
struct procfsmount {
void *pmnt_exechook;