From owner-freebsd-drivers@FreeBSD.ORG Mon Mar 26 02:41:17 2012 Return-Path: Delivered-To: drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7A464106566B for ; Mon, 26 Mar 2012 02:41:17 +0000 (UTC) (envelope-from yong.fan@exar.com) Received: from smtp1.exar.com (webmail.exar.com [204.154.183.83]) by mx1.freebsd.org (Postfix) with ESMTP id 595AC8FC20 for ; Mon, 26 Mar 2012 02:41:16 +0000 (UTC) Received: from FRE1-CAS2.hq.exar.com (10.127.1.158) by FRE1-CAS.hq.exar.com (10.127.1.162) with Microsoft SMTP Server (TLS) id 8.1.436.0; Sun, 25 Mar 2012 19:41:16 -0700 Received: from HZU1EXCH02.hq.exar.com (172.18.10.52) by FRE1-CAS2.hq.exar.com (10.127.1.158) with Microsoft SMTP Server (TLS) id 8.1.436.0; Sun, 25 Mar 2012 19:41:16 -0700 Received: from HZU1EXCH02.hq.exar.com ([fe80::5528:f080:2385:1c90]) by HZU1EXCH02.hq.exar.com ([fe80::5528:f080:2385:1c90%13]) with mapi; Mon, 26 Mar 2012 10:41:11 +0800 From: Yong Fan To: "drivers@FreeBSD.org" Date: Mon, 26 Mar 2012 10:41:09 +0800 Thread-Topic: operate file in kernel space Thread-Index: Ac0K+eZDcDMddpvjR+i0sUSbIWy00A== Message-ID: <88AB8EB2D3F1D249AE07FAFFF17A396F0384CEFB5B@HZU1EXCH02.hq.exar.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US, zh-CN MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: operate file in kernel space X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Mar 2012 02:41:17 -0000 Hi all, I want to operate file in kernel space. At present, I have found the following kernel routines, which operate file: Kern_open(), kern_close(), kern_readv() and kern_writev(). Now, I have some doubt about these routines? 1 kern_open() doesn't return a file handle or file pointer? As we know, filp_open(), which is a Linux kernel routine, returns a file po= inter. ZwCreateFile(), which is a Windows kernel routine, returns a file handle. 2 how can I "seek" a file in kernel space? The function of "seek" routine is similar with generic_file_llseek()(Linux)= or ZwSetInformationFile()(windows). Thanks Yongfan ________________________________ The information and any attached documents contained in this message may be confidential and/or legally privileged. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, dissemination, or reproduction is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender immediately by return e-mail and destroy all copies of the original message.