Linux-Development-Sys Digest #964, Volume #6 Thu, 15 Jul 99 14:14:17 EDT
Contents:
Re: DMA from/to user space? (Robert Kaiser)
Re: strange debugging line ("Frank V. Castellucci")
Re: DMA from/to user space? (Maciej Golebiewski)
Re: New OS development (Igor Zlatkovic)
Re: New OS development (Igor Zlatkovic)
Authenticating /etc/(passwd | shadow) ? (john lucian)
Re: OLE in Linux? (Igor Zlatkovic)
timer-create ([EMAIL PROTECTED])
Re: errno undeclared, ENOENT undeclared ("Robert")
Re: Kernel version 2.3.9+ (garypark)
Re: DMA from/to user space? (Maciej Golebiewski)
Network stack rewrite ("Daniel")
Re: errno undeclared, ENOENT undeclared ("Robert")
Re: New OS development (Frank Sweetser)
Re: rh6.0 and dev permissions (Thorsten Kukuk)
Re: How can i increase block device buffer cache? (Mike Hall)
Re: MICROSOFT LINUX DISTRIBUTION (Philip Brown)
Re: MICROSOFT LINUX DISTRIBUTION (Philip Brown)
----------------------------------------------------------------------------
From: [EMAIL PROTECTED] (Robert Kaiser)
Subject: Re: DMA from/to user space?
Date: 15 Jul 1999 09:37:48 GMT
In article <[EMAIL PROTECTED]>,
Clark Williams <[EMAIL PROTECTED]> writes:
> I'm sorry if this is a FAQ (I haven't seen the question asked), but is
> there a recommended way to set up PCI busmastering DMA directly to and
> from user space, without doing copyin() and copyout()? I have not found
> a routine to lock down a set of user pages, which would seem to be a
> requirement for this to work.
<sarcasm>
Some of the kernel developers think that if you need such a feature,
then your design must be fundamentally flawed ...
<end sarcasm>
Funny though, almost every virtual memory OS except Linux does support
user-space DMA (e.g. AIX, NT, ...). Why Linus thinks it's such a bad
thing is beyond me.
Have a look at ftp://ftp.sysgo.de/pub/Linux. You'll find a very simple
kernel patch there that will allow you to do just what you want --
scatter/gather DMA directly from/to user-space memory.
Cheers
Rob
================================================================
Robert Kaiser email: rkaiser AT sysgo DOT de
SYSGO RTS GmbH
Mainz / Germany
------------------------------
From: "Frank V. Castellucci" <[EMAIL PROTECTED]>
Subject: Re: strange debugging line
Date: Thu, 15 Jul 1999 08:03:36 -0400
Joe Pfeiffer wrote in message <[EMAIL PROTECTED]>...
>"D. Stimits" <[EMAIL PROTECTED]> writes:
>>
>> The line is this:
>> ostream::operator<< (this=0x8049ab0, s=0x804897b "local: ")
>> at /home/hjl/jimi/gnu/src/libg++/libio/iostream.cc:706
>> /home/hjl/jimi/gnu/src/libg++/libio/iostream.cc:706: No such file or
directory.
>>
[snip]
>
>hjl is HJ Lu (Liu? I apologize for not remembering). This is telling
>you where in the code he wrote the program is crashing. My
>recommendation would be:
>
I don't think it is crashing, I think the debugger is saying that the
execution point is somewhere that there is no source code for.
Frank V. Castellucci
Monkey Boy
------------------------------
From: Maciej Golebiewski <[EMAIL PROTECTED]>
Subject: Re: DMA from/to user space?
Date: Thu, 15 Jul 1999 15:19:46 +0200
Robert Kaiser wrote:
>
> Funny though, almost every virtual memory OS except Linux does support
> user-space DMA (e.g. AIX, NT, ...). Why Linus thinks it's such a bad
> thing is beyond me.
>
> Have a look at ftp://ftp.sysgo.de/pub/Linux. You'll find a very simple
> kernel patch there that will allow you to do just what you want --
> scatter/gather DMA directly from/to user-space memory.
M-VIA from Berkeley has a similar feature (among others). They don't
patch the kernel, but implement locking/unlocking memory in a kernel
module. Very comfortable. I'm using this with 2.2.5 and it works
great.
Maciej
------------------------------
From: Igor Zlatkovic <[EMAIL PROTECTED]>
Subject: Re: New OS development
Date: Thu, 15 Jul 1999 13:29:51 +0000
Oh boy... look at the number of flames I got by now. And they are getting more
every hour. Why couldn't I keep my mouth shut? Why the hell didn't I take the
blue pill?
> Please, grep for sys_fstatfs() in the kernel source. And look how it is
> implemented, OK?
I did it. Im impressed, but I didn't see any inheritance there. I saw a function,
much like other functions in the kernel tree. It operates on big structures that
contain pointers to other structures and functions. OK, I must admit that I
didn't give it more than 10 minutes, but I couldn't find any language-supported
inheritance there.
Inheritance is one of the key things that differ OO and procedural systems. A
subobject inherits all attributes and operations associated with the superobject.
this means that all data structures and algorithms originally designed for the
base object are immediately available for the derived object. The superobject is
directly reusable and no extra work needs to be done for this to tick. This is
what I see under inheritance in my book.
> If you are after the overloading - sorry, it has *nothing* with OO. It's an
> independant concept. If you are talking about the true polymorphism (a-la
> lazy functional languages with deducted types) - neither C nor C++ provide
> it. Templates are weaker than that.
Overloading has a lot to do with OO. Being able to call operations implemented
for derived objects through the pointer to a base object is the thing. You have a
superobject with own implementation of some operation. Now I can add as many
subobjects as I like, each with its own version of the same operation without
having to change or recompile the code that actually calls the operation. If now
every call calls the right version of the operation, then I have what I think
polymorphism is and yes, this is very necessary.
Templates could be something that has less to do with OO. Templates are merely a
type-safety concept.
> I wrote struct foo_operations*, not const struct foo_operations*.
Indeed, you did.
> Nonsense. Language may be more or less convenient, but that's it. Macros can
> give you the syntax sugar you need. You may find them clumsy, whatever -
> preferences in syntax are exactly that: preferences. Set of idioms you
> are using matters; their representation is a question of taste.
I agree completely here, that is almost what I mean. Almost. What I talk about is
how nice it is having the language and the compiler natively support the way you
thought when you designed the program. This makes the translation of the idea
into code rather direct. You obviously understood it as a statement that the
implementation of an OO designed software cannot be done without such language.
This is my mistake, sorry. It can, and it has been done, but it always involved
extra work.
Anyway, Christopher Browne is right, this has allready gone far beyond the topic.
Now that we know what we know or what we think that we know about object oriented
issues, lets end this here, huh?
Ciao
Igor
--
Igor Zlatkovic mailto:[EMAIL PROTECTED]
University of Applied Sciences, Frankfurt, Germany, EU
"If at first you don't succeed, redefine success."
-- /usr/bin/fortune, 12.5.1999.
------------------------------
From: Igor Zlatkovic <[EMAIL PROTECTED]>
Subject: Re: New OS development
Date: Thu, 15 Jul 1999 13:38:31 +0000
Christopher Browne wrote:
> Of course, this is heading down the usual "slippery slope" away from
> the original subject of the issue.
Yes, you are right. Sorry. My mistake.
--
Igor Zlatkovic mailto:[EMAIL PROTECTED]
University of Applied Sciences, Frankfurt, Germany, EU
"If at first you don't succeed, redefine success."
-- /usr/bin/fortune, 12.5.1999.
------------------------------
From: john lucian <[EMAIL PROTECTED]>
Subject: Authenticating /etc/(passwd | shadow) ?
Date: 15 Jul 1999 13:31:20 GMT
Greetings,
I'm currently working on developing a web-based client application which
requires the ability to dynamically query either /etc/passwd or /etc/shadow
for determination of if the user us authorized to perform certain tasks.
I've been reading up on DES, MD5, passwd.h, shadow.h, crypt.h, and a
plethora of cryptic man pages, but I'm having difficulty determining the
simplest way to implement this. I understand that the UNIX password
encryption is a one-way process, and that as such I'll either need to be
checking the contents of the passwd database against the CGI input which I
myself will encrypt, or pass the contents of the CGI request to some
function I have not yet found which automatically encrypts the password in
the same style as the password database and internally authenticates.
Can any of you lovely UNIX gurus out there assist? Right now I'm developing
this strictly for linux, but it will eventually be ported to bsd, solaris,
etc.
Thanks in advance,
.lx
--
[ [EMAIL PROTECTED] -- http://www.audiophonic.com/lx/ ]
[ "in a mirror, all the time turns counter-clockwise." ]
[ "and every time i look, i find my face has changed." ]
------------------------------
From: Igor Zlatkovic <[EMAIL PROTECTED]>
Subject: Re: OLE in Linux?
Date: Thu, 15 Jul 1999 13:46:24 +0000
Habin wrote:
> Hello,
>
> I've studied OLE (Object Linking and Embedding) programming under
> Windows 95 using VC++ 5.0. The OLE has many functions and Windows 95
> support it as system level.
>
> I'm interesting about OLE in Linux.
>
> Is there any project or group which implement OLE functions
> on Linux, especailly X-Window?
> KDE or GNOME do the OLE stuff? I heard that KDE has OLE stuff which
> almost the same as Microsoft's architecture: In-Place editing and
> look.
There is a complete COM/DCOM implementation for Linux on
http://www.softwareag.de. Since OLE bases completely on it, go there
and take a look.
In itself, it is not that easy. For OLE, you need at an existing base
of apps that support it in order to be interresting, but everything
must begin somewhere.
Ciao
Igor
--
Igor Zlatkovic mailto:[EMAIL PROTECTED]
University of Applied Sciences, Frankfurt, Germany, EU
"If at first you don't succeed, redefine success."
-- /usr/bin/fortune, 12.5.1999.
------------------------------
From: [EMAIL PROTECTED]
Subject: timer-create
Date: Thu, 15 Jul 1999 14:11:36 GMT
Hi,
Anyone know of a linux system call which can create a new timer based on
a specified clock_id? On the SunOS one can use timer_create(). I'd
suspect it to be found in time.h but I can't seem to find anything.
Anyhow, if anybody can be of any help I'd appreciate it.
thanks,
ghislain
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
------------------------------
From: "Robert" <[EMAIL PROTECTED]>
Crossposted-To: comp.unix.programmer
Subject: Re: errno undeclared, ENOENT undeclared
Date: 15 Jul 1999 14:16:45 GMT
Hello unix programmer,
First of All, I'm using Linux, but since there should be not much
different, I hope
your can help.
I'm trying to compile the yapops (yet-another-pop-server) souce from
sunsite.unc...
firtly, the make / gcc report "missing file cc1plus ..., so I find it and
copy it into
/usr/bin, and it successfuly continued, but now this is the problem as
below code.
I have browse thought the code in /usr/include,
why errno (should be extern int errno ) and ENOENT (which header it located
?).
couln't be found since I have already include in the main progam ?
thank in advance for any help
~~~~~~~~~~~~~~~~~~~~~~~~
yaps.C: In function `struct _IO_FILE * mbox_init(char *, struct mailbox
&)':
yaps.C:104: warning: ANSI C++ forbids implicit conversion from `void *' in
return
yaps.C:113: `errno' undeclared (first use this function)
yaps.C:113: (Each undeclared identifier is reported only once
yaps.C:113: for each function it appears in.)
yaps.C:113: `ENOENT' undeclared (first use this function)
yaps.C:137: warning: ANSI C++ forbids implicit conversion from `void *' in
return
yaps.C:188: warning: ANSI C++ forbids implicit conversion from `void *' in
assignment
yaps.C: In function `int authuser(char *, char *)':
yaps.C:548: warning: implicit declaration of function `int crypt(...)'
yaps.C:548: warning: passing `int' to argument 1 of `strncmp(const char *,
const char *, unsigned int)' lacks a cast
yaps.C: In function `int main()':
yaps.C:598: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:670: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:683: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:693: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:714: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:715: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:733: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
make: *** [yaps] Error 1
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:< [EMAIL PROTECTED]
:< [EMAIL PROTECTED]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------
From: garypark <[EMAIL PROTECTED]>
Subject: Re: Kernel version 2.3.9+
Date: Thu, 15 Jul 1999 14:50:26 +0000
Tristan Wibberley wrote:
>
>
> This is a public newsgroup, but not any question is fair. I have seen
> newsgroups who chose a policy of anything goes. They are now useless,
> and many have died (a dead newsgroup is a sad thing to look at).
>
I suspect that more news groups die of a lack of good answers than of a
surplus of bad questions.
>
> It is accepted that development kernels are not discussed unless you
> read the release details and known problems found in other places like
> kernelnotes.org and the linux-kernel mailing list (archived at
> www.progressive-comp.com/Lists). Both colds and linux-kernel are high
> bandwidth, and if linux-kernel were to be allowed to come here too,
> colds would die.
>
I'm willing to live within these rules. I just feel that politely making them
clear should be the first reflex.
If bandwidth is really the problem spend more on redirection and less on
flame.
>
> Yes, this was a rude thread, but it is necessary. This is the
> free-software world, feelings don't matter, code and useful discussion
> does.
In the real world code does not matter at all compared to people. Feelings
are part of people and hence
more important than code. Any damb SOB can write code. If you demonstrate a
willingness to hurt feelings
you demonstrate a willingness to hurt people.
> I have been insulted because of my earlier stupid questions, and I
> was upset when it happened, but now I am more experienced and I see it
> was useful. You'll thank us one day ;)
The end NEVER justifies the means. The day will be a long time comming before
I thank people for bad behavior.
Gary Park
[EMAIL PROTECTED]
------------------------------
From: Maciej Golebiewski <[EMAIL PROTECTED]>
Subject: Re: DMA from/to user space?
Date: Thu, 15 Jul 1999 16:37:00 +0200
Clark Williams wrote:
> Thanks for your reply. Do you have a URL or ftp address to their source?
Yep. You can find it at http://www.nersc.gov/research/FTG/via/
Maciej
------------------------------
From: "Daniel" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking
Subject: Network stack rewrite
Date: Thu, 15 Jul 1999 15:38:30 +0100
I wish to add some new function and remove some of the unneeded stuff from
the lunix com stack. The roblem is that I have no idea where to start. I
have entered many IRC chats on the subject and get told "Go to the source!"
Well the source is a bit too OTT for me at the moment and I want to gently
accustome myself to it.
The question is.
Where can I get information about the structure of the linux comstack? Some
simple stuff at first and perhaps a few whitepapers or development docs. I
will contact the writer of the stack as a last
move.
Dan
Answers here or to [EMAIL PROTECTED]
Thanks...
Last time I posted this i was told that the development was undocumentated.
I believe that for anything as sucessfull a linux must have some recording
process behind it to let all the developers work togeather.
------------------------------
From: "Robert" <[EMAIL PROTECTED]>
Crossposted-To: comp.unix.programmer
Subject: Re: errno undeclared, ENOENT undeclared
Date: 15 Jul 1999 14:24:59 GMT
(My resend - many error in prev post sorry !)
Hello unix programmer,
First of All, I'm using Linux (RH5.2), but since there should be not much
different, I hope your can help.
I'm trying to compile the yapops (yet-another-pop-server) souce from
sunsite.unc... Firstly, the make / gcc report "missing file cc1plus ..., so
I find it and
copy it into /usr/bin, and it successfuly continued, but now this is the
problem as
below code. I'm suppose to use gcc++.
I have browse thought the code in /usr/include.
why errno (should be declared as extern int errno, am I right ? ) and
ENOENT (which header it located ?). couln't be found since I have already
include
the error.h in the main program ?
Another question, why any program in other directory other thant /usr/bin
can't
be executed ? even I have set it to executable ? Is this because of they
is a "executable" path setting somewhere in config files ? also how to set
it path ?
many thank in advance for any help
~~~~~~~~~~~~~~~~~~~~~~~~
yaps.C: In function `struct _IO_FILE * mbox_init(char *, struct mailbox
&)':
yaps.C:104: warning: ANSI C++ forbids implicit conversion from `void *' in
return
yaps.C:113: `errno' undeclared (first use this function)
yaps.C:113: (Each undeclared identifier is reported only once
yaps.C:113: for each function it appears in.)
yaps.C:113: `ENOENT' undeclared (first use this function)
yaps.C:137: warning: ANSI C++ forbids implicit conversion from `void *' in
return
yaps.C:188: warning: ANSI C++ forbids implicit conversion from `void *' in
assignment
yaps.C: In function `int authuser(char *, char *)':
yaps.C:548: warning: implicit declaration of function `int crypt(...)'
yaps.C:548: warning: passing `int' to argument 1 of `strncmp(const char *,
const char *, unsigned int)' lacks a cast
yaps.C: In function `int main()':
yaps.C:598: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:670: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:683: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:693: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:714: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:715: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
yaps.C:733: warning: ANSI C++ forbids implicit conversion from `void *' in
argument passing
make: *** [yaps] Error 1
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:< [EMAIL PROTECTED]
:< [EMAIL PROTECTED]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------
From: Frank Sweetser <[EMAIL PROTECTED]>
Subject: Re: New OS development
Date: 15 Jul 1999 12:39:40 -0400
Igor Zlatkovic <[EMAIL PROTECTED]> writes:
> I did it. Im impressed, but I didn't see any inheritance there. I saw a
> function, much like other functions in the kernel tree. It operates on
> big structures that contain pointers to other structures and
> functions. OK, I must admit that I didn't give it more than 10 minutes,
> but I couldn't find any language-supported inheritance there.
^^^^^^^^^^^^^^^^^^
well, C doesn't suport objects either. it's done like so:
struct superclass{
func1 = generic_func1();
func2 = generic_func2();
}
struct subclass{
func1 = NULL;
func2 = super_func2()
func3 = some_nifty_func_unknown_to_parent;
}
the code to register that module then basically does
register(class){
if(class->funcX == NULL)
class->funcX = superclass->generic_funcX
}
--
Frank Sweetser rasmusin at wpi.edu fsweetser at blee.net | PGP key available
paramount.ind.wpi.edu RedHat 5.2 kernel 2.2.5 i586 | at public servers
Double *sigh*. _04 is going onto thousands of CDs even as we speak,
so to speak.
-- Larry Wall in <[EMAIL PROTECTED]>
------------------------------
From: Thorsten Kukuk <[EMAIL PROTECTED]>
Subject: Re: rh6.0 and dev permissions
Date: 15 Jul 1999 08:01:06 GMT
Don Carroll <[EMAIL PROTECTED]> wrote:
> does anyone know what is changing /dev/ file permissions from what
> I set them to , to another user that logs in
> it is driving me crazy , I have settup groups and added the users to
> those
> groups , but when whatever is changing them changes /dev/dsp
> it messes up what I have done
> /dev/dsp* /dev/audio* and /dev/mixer* /dev/ttyS*
> are the ones changing
I don't use RH, but I think pam_console do this.
Thorsten
--
Thorsten Kukuk http://www.suse.de/~kukuk/ [EMAIL PROTECTED]
SuSE GmbH Deutschherrenstr. 15-19 90429 Nuernberg
Linux is like a Vorlon. It is incredibly powerful, gives terse,
cryptic answers and has a lot of things going on in the background.
------------------------------
From: Mike Hall <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.misc,redhat.kernel.general
Subject: Re: How can i increase block device buffer cache?
Date: Thu, 15 Jul 1999 10:59:00 -0500
[EMAIL PROTECTED] wrote:
> I want to increase buffer cache of block device. i have 512Mb of RAM and
> want to use 400+MB of my memory as a cache buffer.
> Can any one help me for increasing this cachr buffer or guide me to some
> documentation.
Linux will use whatever it needs as a buffer cache.
If it decides that your memory is better used running a program
it will do that. If it finds that there is unused memory,
it uses it for the buffers.
My web-page has a little Tcl/Tk tool called SysBars
which shows me how memory and swap spaces are allocated.
Maybe it will help you, too!
Good luck!
--
Michael Hall
http://www.enteract.com/~mghall
[EMAIL PROTECTED]
------------------------------
From: [EMAIL PROTECTED] (Philip Brown)
Subject: Re: MICROSOFT LINUX DISTRIBUTION
Reply-To: [EMAIL PROTECTED]
Date: 15 Jul 1999 17:00:26 GMT
On Sat, 10 Jul 1999 02:55:02 GMT, Bryan@[EMAIL PROTECTED] wrote:
>Samuel Brown <[EMAIL PROTECTED]> wrote:
>: It will have word and excel 2000 also.
>: Are they taking over LINUX?
>
>they can't - NO ONE OWNS LINUX (except linus, and that's only for the
>parts of the kernel he wrote).
>
>you can't "take over" what is not outright purchasable.
Eh.. some people might say that redhat is gradually taking over linux :-)
You don't have to "own" something, to effectively control it.
There reaches a point where deviations are just statistically not interesting.
For example, "desktop computing".
--
[Trim the no-bots from my address to reply to me by email!]
[ Do NOT email-CC me on posts. Pick one or the other.]
--------------------------------------------------
The word of the day is mispergitude
------------------------------
From: [EMAIL PROTECTED] (Philip Brown)
Subject: Re: MICROSOFT LINUX DISTRIBUTION
Reply-To: [EMAIL PROTECTED]
Date: 15 Jul 1999 17:01:57 GMT
On Sat, 10 Jul 1999 19:44:02 GMT, [EMAIL PROTECTED] wrote:
>Further fallacies:
>...
>- Debian Linux is not a commercial distribution, and thus there is
>inherently no way for it to be "bought out."
Mosaic was not a commercial distribution. It was effectively "bought out"
--
[Trim the no-bots from my address to reply to me by email!]
[ Do NOT email-CC me on posts. Pick one or the other.]
--------------------------------------------------
The word of the day is mispergitude
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************