Linux-Development-Sys Digest #518, Volume #8     Sun, 25 Feb 01 13:13:14 EST

Contents:
  Re: developers needed ("Igor Shmukler")
  Re: How many current users? (Kasper Dupont)
  Re: kernel + init (Kasper Dupont)
  Re: LILO - Boot from logical drive? (Kasper Dupont)
  Re: OT: Supermount (Kasper Dupont)
  Re: How do I do this in C? (Kasper Dupont)
  Re: Where is the physical address of any kernel source code? (Kasper Dupont)
  how to determine ix86 architecture binary was built for (Andy Teague)
  Re: IRQ Line Assign (Michael Mueller)
  Re: how to determine ix86 architecture binary was built for (Michael Mueller)
  Re: OT: Supermount (Michael Mueller)
  Re: How do I do this in C? (Grant Edwards)
  Re: debugging lilo/kernel? (F. Heitkamp)
  Re: OT: Supermount (Kasper Dupont)
  Re: developers needed ([EMAIL PROTECTED])
  Re: developers needed ("Igor Shmukler")
  EFAULT errors in a module ("James Cowan")

----------------------------------------------------------------------------

From: "Igor Shmukler" <[EMAIL PROTECTED]>
Subject: Re: developers needed
Date: Sun, 25 Feb 2001 08:20:52 GMT

I just answered JD, so I will answer you, otherwise I have no time for this.

<[EMAIL PROTECTED]> wrote in message
news:o_1m6.14581$[EMAIL PROTECTED]...
> "Igor Shmukler" <[EMAIL PROTECTED]> writes:
> > <[EMAIL PROTECTED]> wrote in message
> > news:GFEl6.10538$[EMAIL PROTECTED]...
> > > [EMAIL PROTECTED] () writes:
> > > > In article <[EMAIL PROTECTED]>,
> > > > Stefaan A Eeckels <[EMAIL PROTECTED]> wrote:
> > > >
> > > > >Mach is _not_ the right foundation for high-performance
> > > > >kernels ;-)
> > > >
> > > > Wasn't NT based on Mach? ;)
> > >
> > > Microsoft hired Raschid, head of the Mach project, to head up
> > > Microsoft Research, and pushed out publicity for a while trying to
> > > imply some relationship.
> > >
> > > That's a far cry from basing a VMS "clone" with a GUI on Mach...
>
> > NT is based on PRISM last project Dave Cuttler headed for digital
> > and not directly VMS. MS did hire Raschid as well as almost
> > everybody else from original Mach group. Some people claim that NT
> > is pretty much pure Mach with changed variable names etc. These
> > people are very reliable, but unless Bill will publish sources will
> > never know, will we.
>
> That's "Dave Cutler," and I would suggest the thought that NT can't
> simultaneously be:

I am sure typo concept is unknown to you, but it's not first or last time
for me.

>   - Based on PRISM, a sort of "next-gen VMS" from Digital, and
>   - "pure Mach with changed variable names"
>
> Pick one or the other; NT can't simultaneously be clones of both
> things.

1st, I didn't say NT was PRISM's clone. 2nd why not? Ever heard of multiple
inheritance?

> > Tru64 performs just fine, I think. So comment regarding bad
> > performance needs to be backed a little.
>
> Tru64 was originally OSF/1, a version of Unix based on the _first_
> generation of Mach, back when they hadn't yet decided that Mach would
> become a microkernel.
> Whether or not Tru64 performs well or not hasn't the slightest bit to
> do with microkernels, because it's not using one.


Tru64 is based on Mach 2.5 which is not 100% microkernel, but next closest
thing.
Should you be interested, raise money, buy the Tru64 sources then you could
see for yourself.
Such issues as task switches and IPC can be easily balanced out by nightmare
causing designs decisions.

> (reverse (concatenate 'string "gro.gultn@" "enworbbc"))
> http://vip.hex.net/~cbbrowne/
> "I have stopped  reading Stephen King novels.  Now I  just read C code
> instead."  -- Richard A. O'Keefe

You may reply if interested, but I don't think I will participate in
conversion. Look in my answer to JD for explanation.




------------------------------

From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: How many current users?
Date: Sun, 25 Feb 2001 11:22:24 +0000

[EMAIL PROTECTED] wrote:
> 
> I am trying to find out how many users have at least one process on
> the machine.  I am tweaking the schedule function I am trying to
> figure out how many users are in the system
> 

That is different from what uptime reports.

Uptime reports users logged into the system,
but notice that a user can have processes
runing in the background even after logging
out.

Also notice that there are daemon processes
runing with different UIDs.

If you want to count the number UIDs which
have currently processes runing that should
not be very hard. The kernel keeps track of
the number of processes pr. UID, and has
one record pr. UID in use.

This piece of nontested code should more or
less work:

int numer_of_UIDs_in_use()
{
   int count=0;
   int i;
   struct user_struct *p;
   spin_lock(&uidhash_lock);
   for (i=0;i<UIDHASH_SZ;++i) 
      for (p=uidhash[i];p;p=p->next)
         ++count;
   spin_unlock(&uidhash_lock);
   return count;
}

There is one problem with this piece of
code: uidhash and UIDHASH_SZ only exist
in linux/kernel/fork.c. So you have to
insert the function in that file.

There are other more complex solutions,
like scaning the process list and save
all UIDs in use in a temorary structure
and then remove duplicates.

> On Sat, 24 Feb 2001 12:21:27 +0000, Kasper Dupont
> <[EMAIL PROTECTED]> wrote:
> 
> >[EMAIL PROTECTED] wrote:
> >>
> >> HI,
> >>         I was wondering if there was a global kernel variable that
> >> counted how many current users are on the system?  Or if not what is
> >> the best way to figure it out.
> >> Thanks
> >> Adam
> >
> >The concept of users logged into the system is not
> >defined at kernel level, it is defined at a higher
> >level.
> >
> >The userspace program uptime will print a number,
> >which it computes by parsing /var/run/utmp.
> >
> >What is your defination of how many current users
> >there are on the system, people might have
> >different definitions.
> >
> >--
> >Kasper Dupont

-- 
Kasper Dupont

------------------------------

From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: kernel + init
Date: Sun, 25 Feb 2001 11:25:58 +0000

Jan Bot wrote:
> 
> I tried to install kernel 2.4.0 but it didn't work out :-(
> 
> The error I got (while booting):
> Warning: unable to open an initial console
> Kernel panic: no init found. Try passing init= option to kernel.
> 
> And then: nothing. What am I doing wrong here? Kernel 2.2.15 runs fine.
> 
> I included `Virtual terminal' and `Support for console on VT'
> (under `Character devices').
> 
> txs!
> 
> Jan

The two files /dev/console and /sbin/init is missing.

You probably have a problem with your root filesystem.

Did you remember to include the blockdevice driver and
filesystem driver used by your root filesystem in the
kernel?

Did you give the correct root= option to the kernel?

-- 
Kasper Dupont

------------------------------

From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: LILO - Boot from logical drive?
Date: Sun, 25 Feb 2001 11:31:50 +0000

Steven J. Hathaway wrote:
> 
> I am having problems getting the lilo program to chain to an operating
> system that has been installed to a logical drive on an extended
> partition.  Any hints may be helpful.
> 
> My attemtps show that partition for /dev/hda6 cannot be found,
> even though I can mount the drive and everything looks proper
> with a Linux booted from another drive.
> 
> I have no problems chaining to primary partitions -- only the
> logical drives in the extended partitions.
> 
> Thanks.
> 
> Steven J. Hathaway
> <[EMAIL PROTECTED]>

At which point do you get trouble:

When you run /sbin/lilo?
Before the LILO boot: prompt?
After the LILO boot: prompt?

The problem could be that the opperating system
you try to boot does not support booting from a
logical partition. You cannot expect booting
from a logical partition to work.

-- 
Kasper Dupont

------------------------------

From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: OT: Supermount
Date: Sun, 25 Feb 2001 12:00:57 +0000

Daniel Franklin wrote:
> 
> David Findlay wrote:
> >Has supermount been included in the 2.4.x kernels? I compiled 2.4.0 the day
> >it came out, but it seems to use exactly the same system of CDROM mounting
> >and umounting as 2.2.x. I am about to upgrade to 2.4.2 and want to know how
> >I can get the kernel to automatically mount a CD or floppy when I put it in,
> >and umount it when I press eject. Has this functionallity been added to the
> >main kernel tree?
> 
> It has not, I think a patch is available. You can use automount to do
> something similar.
> 

How would you do that with automount. I have tried
without success. The eject button does not work
until the fs times out, if you set timeout to low
fs gets unmounted all the time, that results in
cacheflushes and consequently poor performance.

It would be even harder to do something sensible
with floppies, but OTOH hopefully they will soon
completely have been replaced with CDs.

-- 
Kasper Dupont

------------------------------

From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: How do I do this in C?
Date: Sun, 25 Feb 2001 12:08:45 +0000

Lew Pitcher wrote:
[...]
> 
> unlink() is the function that 'rm' uses to remove a file, link() and
> unlink() are the function that 'mv' uses to move a file from one place

mv could use link() and unlink() for regular files,
but that would create lots of posible race conditions.
For directories it would fail completely. Instead mv
uses the rename() system call.

> to another on the same fs, while a straight byte-for-byte copy (a la
> 'cp') is used to move a file from one fs to another, and a
> read()/write() (or getc()/putc()) loop is the heart of 'cp'. You will
> also learn that the stat() and fstat() calls permit you to examine the
> permission bits, and to determine the location of the file and the
> filesystem it resides on. These are the heart of the 'cp', 'mv', and
> 'rm' commands.
> 

Don't forget the -r option to cp and rm. That also
requires that the program can scan directories. The
same also aplies for mv when moving directories from
one fs to another.

[...]

-- 
Kasper Dupont

------------------------------

From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: Where is the physical address of any kernel source code?
Date: Sun, 25 Feb 2001 12:22:29 +0000

Gu Weining wrote:
> 
> Many thanks to you, Kasper, for your kind response.
> 
> >  The module loader program (insmod/modprobe) will resolve
> >  this for you. Not actually using /proc/ksyms, but using
> >  some syscalls suplying the same information.
> 
> Would you please show me an example to use syscalls to do
> this same things? Say, I want to find the physical address of
> rt6_lookup() in /usr/src/linux/net/route.c, after it is compiled
> and linked to the memory.

I think insmod and modprobe uses the query_module()
system call. The values you get are logical addresses.

On i386 converting addresses from logical to physical
is very easy if the symbol is exported by the kernel,
just substract PAGE_OFFSET which is most often
0xC0000000, but can be changed to 0xB0000000 by a
compile time option.

If the symbol is exported by a module there is no
easy way to convert that to a physical address.

> 
> >  The addresses are not physical addresses, but the logical
> >  addresses where the coresponding functions are located.
> >  You most likely don't need the physical addresses.
> 
> My research work(fault tolerance) is related to this. Thus I
> should know the physical addr of any arbitrary function, if
> possible. /proc/ksyms file is used by kernel, I guess this
> is physical addr. Otherwise, this logical addr corresponds
> to what? Can you give me more hint?

What fault tolerance can you get by knowing the
physical address of a function? If memory is bad the
system will most likely fail completely. Normally
you get fault tolerance by having three or more
computers ready to take over.

> 
> Thanks.
> 
> Weining Gu

-- 
Kasper Dupont

------------------------------

From: Andy Teague <[EMAIL PROTECTED]>
Subject: how to determine ix86 architecture binary was built for
Date: Sun, 25 Feb 2001 14:01:52 +0000

Hi there

I have a problem I cant seem to figure out, 
I have gcc (2.91) and can compile for i386 or i686 quite happily, 
however what I now need to do is check which platform a number of
existing binaries were buit for.  
I have tried objdump, ldd, file etc, but cant seem to find the 
information I require.
I suppose I could re-build all the relevant binaries, but feel that
there must be a way of determining the architecture it was built for.

(if there a better goup - please say)

TIA

Andy

------------------------------

From: Michael Mueller <[EMAIL PROTECTED]>
Crossposted-To: 
alt.os.linux,comp.os.linux.embedded,comp.os.linux.hardware,linux.redhat.devel
Subject: Re: IRQ Line Assign
Date: Sun, 25 Feb 2001 15:39:53 +0100

Hi Ajit,

you wrote:
> I'm trying to set up the interrupt handler for this PCI to PCI bridde
> driver. (any reference for such a driver will be very useful).

You should not need any driver for a PCI-PCI bridge. Both the PCI-BIOS
and Linux do detect these bridges and look behind them - they are
transparent.

> When I try to call request_irq with SA_INTRRRUPT or NULL flag  the
> request_irq fails. I noticed from /proc/interrupts file that the requested
> intr is used by my network card.
> 
> When I try to use SA_SHIRQ flag it works, but now I get too many calls fro
> my handler. Is there a way I can distinguish between intr from my card or
> not.

It is quite normal for PCI devices to share interrupts. It is of need
due to the limitation to 4 interrupt lines and due to the PCI 2.1
standard.

The driver for a PCI device does have to implement a fast method of
detecting if the device it does manage triggered the interrupt. This is
usally done by reading some status byte and testing it against a bit
mask. If a device does not implement a suitable status byte I would
consider it broken!

> I'm also looking for other options. How can I use a different IRQ line. Is
> it possible? (if yes how). FYI, I'm using the IRQ line available in the
> pci_dev struct.

I doubt you can simple use an other interrupt since the PCI BIOS did
assign the interrupt to the device. If I understood correctly
reassigning resources will need you to do it for all PCI devices not
just one. And even with reassigning your are limited to the 4 IRQ lines
physically available on the PCI bus and there cabling beetween the PCI
slots.


Malware


Fup2 comp.os.linux.development.system

------------------------------

From: Michael Mueller <[EMAIL PROTECTED]>
Subject: Re: how to determine ix86 architecture binary was built for
Date: Sun, 25 Feb 2001 16:32:41 +0100

Hi Andy,

you wrote:
> I have gcc (2.91) and can compile for i386 or i686 quite happily,
> however what I now need to do is check which platform a number of
> existing binaries were buit for.
> I have tried objdump, ldd, file etc, but cant seem to find the
> information I require.

The problem is that this information can not be found within ELF header.
There is a byte storing the machine type but it is the same for all IA32
targets. Even gcc does not build the processor type into the binary as
string or there like. You can even run programs compiled for i686 on
i386 - up to when the first unsopported instruction is reached and the
processor creates an exception causing the kernel to kill the program.

> I suppose I could re-build all the relevant binaries, but feel that
> there must be a way of determining the architecture it was built for.

It most suitable way of keeping track of this seems to be using the
package manager (RPM, dpkg, ...).


Malware

------------------------------

From: Michael Mueller <[EMAIL PROTECTED]>
Subject: Re: OT: Supermount
Date: Sun, 25 Feb 2001 16:35:42 +0100

Hi Kasper,

you wrote:
> > >I can get the kernel to automatically mount a CD or floppy when I put it in,
> > >and umount it when I press eject. Has this functionallity been added to the
> > >main kernel tree?
> 
> How would you do that with automount. I have tried
> without success. The eject button does not work
> until the fs times out, if you set timeout to low
> fs gets unmounted all the time, that results in
> cacheflushes and consequently poor performance.

Are you sure any drive does report the pressing of the eject button to
the outside? - I am not. Without such a notification it will be hardly
possible to implement such a feature.


Malware

------------------------------

From: [EMAIL PROTECTED] (Grant Edwards)
Subject: Re: How do I do this in C?
Date: Sun, 25 Feb 2001 16:10:34 GMT

In article <[EMAIL PROTECTED]>, Lew Pitcher wrote:

>You want to perform the equivalents of the 'mv', 'cp', and 'rm' commands
>through a program, but you don't want to use the system() function
[...]
>Well, my suggestion to you is to learn about the C standard library, and
>the standard Unix system calls. You will find that
>
>unlink() is the function that 'rm' uses to remove a file, link() and
>unlink() are the function that 'mv' uses to move a file from one place
>to another on the same fs,

I suspect it uses the rename() system call rather than link()/unlink().  At
least it ought to...

-- 
Grant Edwards                   grante             Yow!  Four thousand
                                  at               different MAGNATES, MOGULS
                               visi.com            & NABOBS are romping in my
                                                   gothic solarium!!

------------------------------

From: [EMAIL PROTECTED] (F. Heitkamp)
Date: Sun, 25 Feb 2001 12:05:19
Subject: Re: debugging lilo/kernel?
Reply-To: [EMAIL PROTECTED]

In message <[EMAIL PROTECTED]> - John in SD
<[EMAIL PROTECTED]> writes:
>
>On 15 Feb 2001 14:45:57 GMT, [EMAIL PROTECTED] wrote:
>
>>can boot all the 2.2.x kernels I've tried but I
>>can't seem to boot any 2.4.x kernels; I get the
>>"No setup signature found" message.
>
>None of the kernel development people have screamed, so I suspect some error
>in you make.  Did you "make bzImage", and install the kernel correctly?  I
>have not fiddled with 2.4.0 kernels since about test8.  They all made
>correctly, and booted fine.

I tried the latest as86/bin86, and remade lilo.  Still get the 
Loading default.....................
No setup signature found.

Fred


------------------------------

From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: OT: Supermount
Date: Sun, 25 Feb 2001 17:11:09 +0000

Michael Mueller wrote:
> 
> Hi Kasper,
> 
> you wrote:
> > > >I can get the kernel to automatically mount a CD or floppy when I put it in,
> > > >and umount it when I press eject. Has this functionallity been added to the
> > > >main kernel tree?
> >
> > How would you do that with automount. I have tried
> > without success. The eject button does not work
> > until the fs times out, if you set timeout to low
> > fs gets unmounted all the time, that results in
> > cacheflushes and consequently poor performance.
> 
> Are you sure any drive does report the pressing of the eject button to
> the outside? - I am not. Without such a notification it will be hardly
> possible to implement such a feature.
> 
> Malware

There was recently a posting about it on this newsgroup.
Somebody told us that some Windows versions pops up a
requester if the eject button is pressed while the drive
is locked. If that is true there must be some reporting
from the drive. (Or perhaps the OS can query the drive
for the information.)

Even without reporting of the eject button it should be
possible, but it might require some cooperation between
the block device and the filesystem. Whenever an umount
has been posible for one second the filesystem is turned
into a special state which is implemented using just a
flag and a spinlock. When the filesystem is in this state
the drive is unlocked, any atempt to access the
filesystem must first try to lock the drive, and if it
has already been ejected just umount it and contiue as if
was already umounted before the access.

This could be extended with frequent disk precence
queries to the drive, so the umount does not have to wait
until an access is atempted if the disk has been away for
some time.

-- 
Kasper Dupont

------------------------------

From: [EMAIL PROTECTED]
Subject: Re: developers needed
Date: Sun, 25 Feb 2001 17:47:36 +0100

Igor Shmukler <[EMAIL PROTECTED]> wrote:

>> In this case you should contact J. Dyson (the guy who rewrote VM system
> for
>> FreeBSD) he has similar ideas. On the question of performance comparisons
>> between linux and NT it may also be biaised by the compiler since
> Microsoft
>> compiler seems to be much better than gcc, if i beleive the timings in the
>> openssl library. An other nice comparison point would be Solaris, which is
>> said to largely outperform Linux and FreeBSD with a large number of
>> processors.

> Well, Thanks. I will try to do that. (contact J. Dyson) Solaris is well
> designed, but not a BSD licensed.
> SMP problems in Linux have not too much in common with quality of compilers.
> It's lack granular locking. Entire OS was developed as a big hack. Earlier
> kernel did not even support SMP hardware, how it's supported, but that's
> primerily main difference since early times.

I think his email is [EMAIL PROTECTED], but check. I also think Linux
developers have made great effort so that Linux behaves better on
multiprocessors in the latest 2.4 series. The FreeBSD people are also 
implementing fine granular locking in the FreeBSD-CURRENT series, and have 
capitalized on some Solaris ideas. Don't know if practically all this makes
big difference on say a 4 or 8 processor machines. Machines with many
processors exist, notably Silicon graphics runs IRIS on machines up to 512
processors. How it is done and how it works i don't know. I tend to think that
machines with more than 2 processors are very rarely used and only in places
where one can spend big money without problem. This is perhaps not the target
of the free OS's. In the circles of scientific computing that i am aware of
people are happy using uniprocessors of the highest speed available for cheap,
like Athlons or run them on big iron in case of need (big IBM machines or
Crays). For 2 processors, it seems that either Linux or FreeBSD can adequately
do the job.



-- 
Michel Talon

------------------------------

From: "Igor Shmukler" <[EMAIL PROTECTED]>
Subject: Re: developers needed
Date: Sun, 25 Feb 2001 17:45:25 GMT


<[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> Igor Shmukler <[EMAIL PROTECTED]> wrote:
>
> >> In this case you should contact J. Dyson (the guy who rewrote VM system
> > for
> >> FreeBSD) he has similar ideas. On the question of performance
comparisons
> >> between linux and NT it may also be biaised by the compiler since
> > Microsoft
> >> compiler seems to be much better than gcc, if i beleive the timings in
the
> >> openssl library. An other nice comparison point would be Solaris, which
is
> >> said to largely outperform Linux and FreeBSD with a large number of
> >> processors.
>
> > Well, Thanks. I will try to do that. (contact J. Dyson) Solaris is well
> > designed, but not a BSD licensed.
> > SMP problems in Linux have not too much in common with quality of
compilers.
> > It's lack granular locking. Entire OS was developed as a big hack.
Earlier
> > kernel did not even support SMP hardware, how it's supported, but that's
> > primerily main difference since early times.
>
> I think his email is [EMAIL PROTECTED], but check. I also think Linux
> developers have made great effort so that Linux behaves better on
> multiprocessors in the latest 2.4 series. The FreeBSD people are also
> implementing fine granular locking in the FreeBSD-CURRENT series, and have
> capitalized on some Solaris ideas. Don't know if practically all this
makes
> big difference on say a 4 or 8 processor machines. Machines with many
> processors exist, notably Silicon graphics runs IRIS on machines up to 512
> processors. How it is done and how it works i don't know. I tend to think
that
> machines with more than 2 processors are very rarely used and only in
places
> where one can spend big money without problem. This is perhaps not the
target
> of the free OS's. In the circles of scientific computing that i am aware
of
> people are happy using uniprocessors of the highest speed available for
cheap,
> like Athlons or run them on big iron in case of need (big IBM machines or
> Crays). For 2 processors, it seems that either Linux or FreeBSD can
adequately
> do the job.

Thanks for helping. You could see JD in our thread that's John Dyson. I
followed your advice and found him last night.
I ran some test recently some tests and came to different conclusion on
scalability.
I would say that 4-way boxes are quite common in my world. I don't even
think many people use Xeon unless it's a quadra.
I am not sure what does Free licensing have to do number of CPUs.
Uniprocessor is often all you need for a desktop, but a good solution for
server. Speed of CPU for server does not really matter so much. What
difference in performance will there if go from 800MHZ to 900? I say almost
none. Bus including internal processor bus etc are much slower then
processor clock rate thus frequency does not equal speed. There are issues
like latency etc. Will not go into it, I am not that much of a hardware
expert.
Reason I am answering to the post in the first place, I wanted you
understand I am helpful, but a bit busy. Many people are interested in
discussions, but fewer in actual coding.

> --
> Michel Talon
Thank you again.




------------------------------

From: "James Cowan" <[EMAIL PROTECTED]>
Subject: EFAULT errors in a module
Date: Sun, 25 Feb 2001 18:06:34 -0000


Hi

I am having problems with memory faults (EFAULT) in a module.
I guess I should be using get_user or put_user to move memory but
I am not sure.

Here is some code that fails with a EFAULT error if you run it.

Any help would be much appreciated.

James

===============================================================


#ifndef __KERNEL__
#define __KERNEL__
#endif

#ifndef MODULE
#define MODULE
#endif

#include <sys/syscall.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <asm/uaccess.h>

extern void *sys_call_table[];

asmlinkage int (*sysOpen)(const char *, int, int);

asmlinkage int localOpen(const char *filename, int flags, int mode)
{
int res = sysOpen(filename, flags, mode);

 printk("Opened file %s: res: %d", filename, res);

 return res;
}

int init_module()
{
 sysOpen = sys_call_table[__NR_open];

 localOpen("myfile.bit", O_WRONLY|O_CREAT|O_EXCL, 0);

 return 0;
}

void cleanup_module() {}





------------------------------


** 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 by posting to the
comp.os.linux.development.system newsgroup.

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
******************************

Reply via email to