From nobody Tue Jan 24 22:14:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P1h8R1Rh8z3bgfK; Tue, 24 Jan 2023 22:14:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P1h8Q6w4gz3KtS; Tue, 24 Jan 2023 22:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kBayI0pWPofB/zCq59NN9Z1BDQQ6QJa0B7B+wLdJ4mQ=; b=HpMhFnOh43UaWmAAdXf+GwW+gVywMvSLuKQjWfn0rkx1knZoAAZFl5m+zfvBOxrgDEKuqY PCPf1AUYrtQcdptDA71+e9Wf5yqSX2hqflF63jSHR32Xmg3hKJ0MfauewIZJ40ZjTEocoI tOisQZFfOOHl+g4q1p2TG/q/kSlyUHk3f8nLiuPanV20Go7caloYT9eA4sRsa28mfmk3dC I9qObsDHoIWnQ1QIUMS7bvIJOZZfe2UBFQExg5PHHXNAGHLJ7wbAEqU6vEwjYcUCeuu7uT L+XgsS/WRf2J0tp5nmHXgoZJhNmYlNf3QmV4Ec4hoOyAnqwnZMMeuJWko4ohJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674598455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kBayI0pWPofB/zCq59NN9Z1BDQQ6QJa0B7B+wLdJ4mQ=; b=sGvdy1jv0MNqn3dJR7l43GcaTjlairqfgFbq0u5wWGmHw79FYGeLZBApX3oDjQ9+EZNyMI etbcwL/pjbCJcon4k8tmyHazuTpKLNRW44K61mtdVtlg1CypsA51G9sTy1y295Z8MF8A6X fYxsbuAGxa8fJ3wX63mM92kUt2Fyyqhw9INYQsdhxNiwCC35Nht7CnpRmmTIWASVWfRlr7 zGgqw3AdklG5gQZJiKInIxMFtRA8PlWvyV/Jhb2BYnK2O+6YkHokMfNITK/b83CXDwbnoA ps60Xqj4kdz5JOHzL2EBx41ZsbmLaiGIP0sLcWLa3zFXyEvkCsU7mbqyCNLJ8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674598455; a=rsa-sha256; cv=none; b=vFQzCvpbzXxfb7ZdEWq5j3+GI4ghZxPOXR1trt0i8uI8YbyyiyvdB7NRYg0qhYzKbX8kQ6 PcFCMoC7bZjPooldNoFebjj/Ito/QZLObd4IkXYRI+VDKofxo+a0IaWGMtg8XpLS59+/G1 SmLl9SA/NQU9Sj/PeqbI2JdtVrajtG6P+HOGdR1FpZJjXiNncUlRD1Ud6eCHcg15HNVyLb mpfgzZagBAImUg4W/vBs1Gow3ViLiuTi5r57wXC5ZsJ/a0SGAQBmxTc+QXy22TpvpkR8Jb BuPlwDYTWJ3i81dqYBZ5n8l3vQgvhImURemjAjAPuyAjdpcp7I42G9OK36HIOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P1h8Q62BKzQPv; Tue, 24 Jan 2023 22:14:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30OMEEd4089548; Tue, 24 Jan 2023 22:14:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30OMEELo089547; Tue, 24 Jan 2023 22:14:14 GMT (envelope-from git) Date: Tue, 24 Jan 2023 22:14:14 GMT Message-Id: <202301242214.30OMEELo089547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 3141164b2a88 - stable/13 - stand: Add macros for file types from stat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3141164b2a88423b83d04282dc828f2f85c05166 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3141164b2a88423b83d04282dc828f2f85c05166 commit 3141164b2a88423b83d04282dc828f2f85c05166 Author: Warner Losh AuthorDate: 2023-01-07 20:23:05 +0000 Commit: Warner Losh CommitDate: 2023-01-24 21:49:45 +0000 stand: Add macros for file types from stat Add the familiar macros for file types for stat's st_mode member. Prepend HOST_ to the start of these. Make sure all the values match the linux nolibc and uapi headers. These values are the same as native values since they appear to be required by POSIX. Define anyway to allow the reader of the code to know that they are in the 'host (eg Linux)' namespace rather than the 'loader' namespace. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37967 (cherry picked from commit 2f5f17b80c2d030196e05b12b15d544b363eb058) --- stand/kboot/host_syscall.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/stand/kboot/host_syscall.h b/stand/kboot/host_syscall.h index ea0745542a5b..38f0fb04aa95 100644 --- a/stand/kboot/host_syscall.h +++ b/stand/kboot/host_syscall.h @@ -46,6 +46,28 @@ typedef int64_t host_blkcnt_t; #include "stat_arch.h" +/* + * stat flags + * These are arch independent and match the values in nolib and uapi headers + * with HOST_ prepended. + */ +#define HOST_S_IFMT 0170000 +#define HOST_S_IFIFO 0010000 +#define HOST_S_IFCHR 0020000 +#define HOST_S_IFDIR 0040000 +#define HOST_S_IFBLK 0060000 +#define HOST_S_IFREG 0100000 +#define HOST_S_IFLNK 0120000 +#define HOST_S_IFSOCK 0140000 + +#define HOST_S_ISBLK(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFBLK) +#define HOST_S_ISCHR(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFCHR) +#define HOST_S_ISDIR(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFDIR) +#define HOST_S_ISFIFO(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFIFO) +#define HOST_S_ISLNK(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFLNK) +#define HOST_S_ISREG(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFREG) +#define HOST_S_ISSOCK(mode) (((mode) & HOST_S_IFMT) == HOST_S_IFSOCK) + /* * Constants for open, fcntl, etc *