From owner-svn-src-projects@FreeBSD.ORG Thu Jul 30 20:16:35 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 409721065689; Thu, 30 Jul 2009 20:16:35 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 254B38FC1A; Thu, 30 Jul 2009 20:16:35 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6UKGZ9d043112; Thu, 30 Jul 2009 20:16:35 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6UKGY5V043107; Thu, 30 Jul 2009 20:16:34 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907302016.n6UKGY5V043107@svn.freebsd.org> From: Stanislav Sedov Date: Thu, 30 Jul 2009 20:16:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195979 - in projects/libprocstat: sys/kern sys/sys usr.bin/fstat X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2009 20:16:35 -0000 Author: stas Date: Thu Jul 30 20:16:34 2009 New Revision: 195979 URL: http://svn.freebsd.org/changeset/base/195979 Log: - Return additional file descriptor flags to be more feature complete with the KVM-based version. Modified: projects/libprocstat/sys/kern/kern_descrip.c projects/libprocstat/sys/sys/user.h projects/libprocstat/usr.bin/fstat/libprocstat.c projects/libprocstat/usr.bin/fstat/libprocstat.h Modified: projects/libprocstat/sys/kern/kern_descrip.c ============================================================================== --- projects/libprocstat/sys/kern/kern_descrip.c Thu Jul 30 18:53:06 2009 (r195978) +++ projects/libprocstat/sys/kern/kern_descrip.c Thu Jul 30 20:16:34 2009 (r195979) @@ -2902,13 +2902,20 @@ export_fd_for_sysctl(void *data, int typ int kf_fflag; } fflags_table[] = { { FREAD, KF_FLAG_READ }, - { FWRITE , KF_FLAG_WRITE }, - { FAPPEND , KF_FLAG_APPEND }, - { FASYNC , KF_FLAG_ASYNC }, - { FFSYNC , KF_FLAG_FSYNC }, - { FNONBLOCK , KF_FLAG_NONBLOCK }, - { O_DIRECT , KF_FLAG_DIRECT }, - { FHASLOCK , KF_FLAG_HASLOCK } + { FWRITE, KF_FLAG_WRITE }, + { FAPPEND, KF_FLAG_APPEND }, + { FASYNC, KF_FLAG_ASYNC }, + { FFSYNC, KF_FLAG_FSYNC }, + { FNONBLOCK, KF_FLAG_NONBLOCK }, + { O_DIRECT, KF_FLAG_DIRECT }, + { FHASLOCK, KF_FLAG_HASLOCK }, + { O_SHLOCK, KF_FLAG_SHLOCK }, + { O_EXLOCK, KF_FLAG_EXLOCK }, + { O_NOFOLLOW, KF_FLAG_NOFOLLOW }, + { O_CREAT, KF_FLAG_CREAT }, + { O_TRUNC, KF_FLAG_TRUNC }, + { O_EXCL, KF_FLAG_EXCL }, + { O_EXEC, KF_FLAG_EXEC } }; #define NFFLAGS (sizeof(fflags_table) / sizeof(*fflags_table)) struct vnode *vp; Modified: projects/libprocstat/sys/sys/user.h ============================================================================== --- projects/libprocstat/sys/sys/user.h Thu Jul 30 18:53:06 2009 (r195978) +++ projects/libprocstat/sys/sys/user.h Thu Jul 30 20:16:34 2009 (r195979) @@ -287,6 +287,13 @@ struct user { #define KF_FLAG_NONBLOCK 0x00000020 #define KF_FLAG_DIRECT 0x00000040 #define KF_FLAG_HASLOCK 0x00000080 +#define KF_FLAG_SHLOCK 0x00000100 +#define KF_FLAG_EXLOCK 0x00000200 +#define KF_FLAG_NOFOLLOW 0x00000400 +#define KF_FLAG_CREAT 0x00000800 +#define KF_FLAG_TRUNC 0x00001000 +#define KF_FLAG_EXCL 0x00002000 +#define KF_FLAG_EXEC 0x00004000 /* * Old format. Has variable hidden padding due to alignment. Modified: projects/libprocstat/usr.bin/fstat/libprocstat.c ============================================================================== --- projects/libprocstat/usr.bin/fstat/libprocstat.c Thu Jul 30 18:53:06 2009 (r195978) +++ projects/libprocstat/usr.bin/fstat/libprocstat.c Thu Jul 30 20:16:34 2009 (r195979) @@ -491,11 +491,17 @@ kinfo_fflags2fst(int kfflags) { KF_FLAG_WRITE, PS_FST_FFLAG_WRITE }, { KF_FLAG_NONBLOCK, PS_FST_FFLAG_NONBLOCK }, { KF_FLAG_APPEND, PS_FST_FFLAG_APPEND }, - { KF_FLAG_HASLOCK, PS_FST_FFLAG_SHLOCK }, /* XXX: which lock? */ + { KF_FLAG_HASLOCK, PS_FST_FFLAG_HASLOCK }, { KF_FLAG_ASYNC, PS_FST_FFLAG_ASYNC }, { KF_FLAG_FSYNC, PS_FST_FFLAG_SYNC }, { KF_FLAG_DIRECT, PS_FST_FFLAG_DIRECT }, - /* XXX: other types? */ + { KF_FLAG_SHLOCK, PS_FST_FFLAG_SHLOCK }, + { KF_FLAG_EXLOCK, PS_FST_FFLAG_EXLOCK }, + { KF_FLAG_NOFOLLOW, PS_FST_FFLAG_NOFOLLOW }, + { KF_FLAG_CREAT, PS_FST_FFLAG_CREAT }, + { KF_FLAG_TRUNC, PS_FST_FFLAG_TRUNC }, + { KF_FLAG_EXCL, PS_FST_FFLAG_EXCL }, + { KF_FLAG_EXEC, PS_FST_FFLAG_EXEC } }; #define NKFFLAGS (sizeof(kfflags2fst) / sizeof(*kfflags2fst)) unsigned int i; Modified: projects/libprocstat/usr.bin/fstat/libprocstat.h ============================================================================== --- projects/libprocstat/usr.bin/fstat/libprocstat.h Thu Jul 30 18:53:06 2009 (r195978) +++ projects/libprocstat/usr.bin/fstat/libprocstat.h Thu Jul 30 20:16:34 2009 (r195979) @@ -86,6 +86,7 @@ #define PS_FST_FFLAG_EXCL 0x0800 #define PS_FST_FFLAG_DIRECT 0x1000 #define PS_FST_FFLAG_EXEC 0x2000 +#define PS_FST_FFLAG_HASLOCK 0x4000 struct procstat { int type;