Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750825AbVKWOZV (ORCPT ); Wed, 23 Nov 2005 09:25:21 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750824AbVKWOZV (ORCPT ); Wed, 23 Nov 2005 09:25:21 -0500 Received: from 167.imtp.Ilyichevsk.Odessa.UA ([195.66.192.167]:61365 "HELO port.imtp.ilyichevsk.odessa.ua") by vger.kernel.org with SMTP id S1750825AbVKWOZT (ORCPT ); Wed, 23 Nov 2005 09:25:19 -0500 From: Denis Vlasenko To: "linux-os \(Dick Johnson\)" Subject: Re: Use enum to declare errno values Date: Wed, 23 Nov 2005 16:24:49 +0200 User-Agent: KMail/1.8.2 Cc: "moreau francis" , "Linux kernel" References: <20051123132443.32793.qmail@web25813.mail.ukl.yahoo.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511231624.49208.vda@ilport.com.ua> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1318 Lines: 38 On Wednesday 23 November 2005 16:19, linux-os (Dick Johnson) wrote: > > I'm just wondering why not declaring errno values using enumaration ? > > It is just more convenient when debuging the kernel. > > > > Thanks > > There is an attempt to keep kernel errno values similar to > user-mode errno values. This simplifies the user-kernel > interface where the kernel will return -ERRNO and the user-mode > code negates it and puts it into the user errno then sets the > return value to -1 (a Unix convention). > > The user-mode errno's therefore must correspond. You can't > expect the 'C' runtime libraries to be rebuilt and/or all the > programs recompiled just because the kernel got changed so > the errno's are hard-coded. 0 will always mean "no error" and > 1 will always be EPERM, etc. There are error-codes that are > the same number also, EWOULDBLOCK and EAGAIN are examples. > > So, you can't just auto-enumerate. If auto-enumeration isn't > possible, then you might just as well use #define, which is > what is done. ?!! enum { one, two, ten = 10 }; -- vda - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/