hi all,
thank you for your help Björn.
I try once again by add
LIBS +=-lc_be_time
there is no error,
but we should add another paramenters:
LIBS += -lc_be_time -lrtc
or there will be other error.
thank you for you attention.!


2009/4/6 <l4-hackers-request@os.inf.tu-dresden.de>
Send l4-hackers mailing list submissions to
       l4-hackers@os.inf.tu-dresden.de

To subscribe or unsubscribe via the World Wide Web, visit
       http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
or, via email, send a message with subject or body 'help' to
       l4-hackers-request@os.inf.tu-dresden.de

You can reach the person managing the list at
       l4-hackers-owner@os.inf.tu-dresden.de

When replying, please edit your Subject line so it is more specific
than "Re: Contents of l4-hackers digest..."


Today's Topics:

  1. Re: Urgent help needed .. for svn revision 444 . it seems to
     a bug..   please solve as soon as possible. (Bj?rn D?bel)
  2. Re: Urgent help needed>> please tell us what menu.lst do we
     need      for     usbhid application (Bj?rn D?bel)
  3. Re: USB Keyboard and l4con (Alexander Valitov)
  4. l4ts_free_task() (Marcel Selhorst)
  5. time problem (fang zhengshu)
  6. Re: time problem (Bj?rn D?bel)
  7. Re: l4ts_free_task() (Alexander Boettcher)


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

Message: 1
Date: Sun, 05 Apr 2009 17:24:31 +0200
From: Bj?rn D?bel <doebel@os.inf.tu-dresden.de>
To: tapas kundu <tapaskundu1@gmail.com>,        L4 Hackers
       <l4-hackers@os.inf.tu-dresden.de>
Subject: Re: Urgent help needed .. for svn revision 444 . it seems to
       a bug.. please solve as soon as possible.
Message-ID: <49D8CD2F.6090205@os.inf.tu-dresden.de>
Content-Type: text/plain; charset=windows-1252

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

first of all, please do not double-post.

> root@tapas-laptop:/home/tapas/tudos/l4# gcc --version
 ^^^^
There is absolutely no reason to build L4 as root user.

> gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2

No problem with that. I'm building with the same compiler.

> [..]
> $svn up dope

Better use the repomgr to checkout DOpE:
./repomgr co dope

>  [..]
>
> /home/tapas/tudos/l4/pkg/loader/examples/fprov-l4/main.c -o main.o
> In function ?open?,
>     inlined from ?l4fprov_file_ext_write_component? at
> /home/tapas/tudos/l4/pkg/loader/examples/fprov-l4/main.c:117:
> /usr/include/bits/fcntl2.h:51: error: call to ?__open_missing_mode?
> declared with attribute error: open with O_CREAT in second argument
> needs 3 arguments
> make[5]: *** [main.o] Error 1
> make[5]: Leaving directory
> `/home/tapas/5thAprilUserbuild/pkg/loader/examples/fprov-l4/OBJ-x86_586-l4v2'
> make[4]: *** [/home/tapas/5thAprilUserbuild/pkg/loader/examples/fprov-l4/OBJ-x86_586-l4v2]
> Error 2
> make[4]: Leaving directory `/home/tapas/tudos/l4/pkg/loader/examples/fprov-l4'
> make[3]: *** [fprov-l4] Error 2
> make[3]: Leaving directory `/home/tapas/tudos/l4/pkg/loader/examples'
> make[2]: *** [examples] Error 2
> make[2]: Leaving directory `/home/tapas/tudos/l4/pkg/loader'
> make[1]: *** [loader.bin] Error 2
> make[1]: Leaving directory `/home/tapas/tudos/l4/pkg'
> make: *** [pkg] Error 2

Seems there were some modifications to fprov-l4 recently which may be
the cause. You can ignore this for now (using your patch) as you won't
need this program.

> [..]
>
>   ... Generating simpleterm.dpi
> LD_PRELOAD=/home/tapas/5thAprilUserbuild/tool/gendep/libgendep.so
> GENDEP_TARGET=simpleterm.dpi GENDEP_BINARY=perl
> /home/tapas/tudos/l4/tool/gen_dopecode/gen_dopecode
> /home/tapas/tudos/l4/pkg/dope/examples/dopecmd/common/simpleterm.dpe
>> simpleterm.dpi
> /bin/bash: /home/tapas/tudos/l4/tool/gen_dopecode/gen_dopecode: No
> such file or directory
> make[6]: *** [simpleterm.dpi] Error 127
> make[6]: Leaving directory
> `/home/tapas/5thAprilUserbuild/pkg/dope/examples/dopecmd/l4/OBJ-x86_586-l4v2'
> make[5]: *** [/home/tapas/5thAprilUserbuild/pkg/dope/examples/dopecmd/l4/OBJ-x86_586-l4v2]
> Error 2
> make[5]: Leaving directory `/home/tapas/tudos/l4/pkg/dope/examples/dopecmd/l4'
> make[4]: *** [l4] Error 2
> make[4]: Leaving directory `/home/tapas/tudos/l4/pkg/dope/examples/dopecmd'
> make[3]: *** [dopecmd] Error 2
> make[3]: Leaving directory `/home/tapas/tudos/l4/pkg/dope/examples'
> make[2]: *** [examples] Error 2
> make[2]: Leaving directory `/home/tapas/tudos/l4/pkg/dope'
> make[1]: *** [dope.bin] Error 2
> make[1]: Leaving directory `/home/tapas/tudos/l4/pkg'
> make: *** [pkg] Error 2
> root@tapas-laptop:/home/tapas/tudos/l4#
>
>
> This seems to me that some files are not available or deleted from svn

No. It is there. You can manually fix this by going to l4/tool and
running "svn up gen_dopecode". Otherwise you may use the repomgr to
checkout DOpE as described above and it will do this automatically.

Cheers,
Bjoern
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknYzSwACgkQP5ijxgQLUNn7jACdE+fNxfE/JsTosiIyU+DKne86
of0An26SlHizjHdGXutSCG7b9QYsxfFb
=khl9
-----END PGP SIGNATURE-----



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

Message: 2
Date: Sun, 05 Apr 2009 17:30:52 +0200
From: Bj?rn D?bel <doebel@os.inf.tu-dresden.de>
To: tapas kundu <tapaskundu1@gmail.com>
Cc: l4-hackers@os.inf.tu-dresden.de
Subject: Re: Urgent help needed>> please tell us what menu.lst do we
       need    for     usbhid application
Message-ID: <49D8CEAC.2020700@os.inf.tu-dresden.de>
Content-Type: text/plain; charset=ISO-8859-1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

again, there is no need to double post.

>              We are student of IIT Delhi. We are trying to build a usb
> webcam application and ext2 file system driver on L4.  We have seen an
> *application
> USBHID directory* under L4/pkg downloaded from svn . Could anybody let us
> know how to use this application. Please also let us know the required
> menu.lst file to use this application .

>
>              1) Please also describe required menu.lst file to use dde,
> dde_linux26, dope, drop,loader together .

You may find our Wiki at http://wiki.tudos.org/Main_Page a useful
resource for some initial reading.

>              2) Could any body tell us what is the difference between dde
> and dde_linux26 application found in svn ?

dde_linux26 (combined with linux-26-headers) is the older version which
is deprecated by the re-implementation found in the dde package.
However, the L4IDE disk driver you might be interested in, relies on
this old version.

>              3) Please also tell us how to use these to build an usb device
> driver.

Depending on what you are trying to learn, you can either
1) build a Linux USB driver, link it against the DDE/Linux libraries and
run it on L4, or
2) build a L4Env device driver based on DDEKit (l4/pkg/dde/ddekit). The
interface is slightly different, but if you know how to do things in
Linux, you'll quickly find that it is basically the same way using DDEKit.

Cheers,
Bjoern
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknYzpoACgkQP5ijxgQLUNn8ywCgigoFYJV4Hi6vq3pZ3EjU3KZy
0zoAoJyC1jJdmVibtwwp4glMTcwVXVeS
=coST
-----END PGP SIGNATURE-----



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

Message: 3
Date: Sun, 5 Apr 2009 08:44:23 -0700 (PDT)
From: Alexander Valitov <valitov79@mail.ru>
To: l4-hackers@os.inf.tu-dresden.de
Subject: Re: USB Keyboard and l4con
Message-ID: <22895190.post@talk.nabble.com>
Content-Type: text/plain; charset=us-ascii


Hi, Adam

> On Wed Apr 01, 2009 at 01:11:28 -0700, Alexander Valitov wrote:
> > I've got the problem. l4con doesn't work with USB keyboard.
> > It occurs with L4linux+l4con and even with simple txtmode con
> applications.
> > "USB legacy support" is turned on.
> > Here is how l4con complains:
> >
> > C.05:con     | atkbd.c: Unknown key pressed (translated set 2, code 0x66
> on
> is
> > a0060/
> >   C.05:con     : serio0).
> >   C.05:con     | atkbd.c: Use 'setkeycodes 66 <keycode>' to make it
> known.
> >   C.05:con     | atkbd.c: Unknown key pressed (translated set 2, code
> 0x66
> > on is
> > a0060/
>
> Doesn't work at all or just when you press some (specific) key(s)?

When a application have started and is waiting for your input there are no
error messages. But if a first (ANY) key is pressed then the application
goes
mad and errors as above appear at log.

E.g.: I've booted the L4Linux and am going to input login name. I'm pressing
'r' which is first for 'root' and get something like this:
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr (lots of 'r'
following by CR)

Best Regards,
 Alexander Valitov
--
View this message in context: http://www.nabble.com/USB-Keyboard-and-l4con-tp22821747p22895190.html
Sent from the L4 mailing list archive at Nabble.com.




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

Message: 4
Date: Sun, 05 Apr 2009 14:41:12 +0200
From: Marcel Selhorst <m.selhorst@sirrix.com>
To: "l4-hackers@os.inf.tu-dresden.de"
       <l4-hackers@os.inf.tu-dresden.de>
Subject: l4ts_free_task()
Message-ID: <49D8A6E8.6090001@sirrix.com>
Content-Type: text/plain; charset=ISO-8859-15

Hi List,

I have another question regarding L4Linux and IPC.
Whenever I perform IPC-communication, I get the following debug output:

l4lx| l4ts_free_task(): Could not return task.

This message is repeated twice on every IPC-call.
What is the cause of this and how do I get rid of this? ;)

Thanks in advance!
Marcel Selhorst
--
Sirrix AG security technologies - http://www.sirrix.com
Marcel Selhorst      eMail: m.selhorst@sirrix.com
Tel +49(234) 61 0071-199    Fax +49(234) 61 0071-599
get my public key from keyserver, key id: 0x7C9821CC
Fingerprint 4138 E617 E62E 79D3 E663 BE5A 14E7 1CD8 7C98 21CC

Vorstand: Ammar Alkassar (Vors.), Ahmad-Reza Sadeghi, Christian St?ble
Vorsitzender des Aufsichtsrates: Prof. Dr. Kai Rannenberg
Sitz der Gesellschaft: Homburg/Saar, HRB 3857 Amtsgericht Saarbr?cken

This message may contain confidential and/or privileged information.
If you are not the addressee, you must not use, copy, disclose or
take any action based on this message or any information herein.
If you have received this message in error, please advise the sender
immediately by reply e-mail and delete this message.



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

Message: 5
Date: Mon, 6 Apr 2009 12:16:21 +0800
From: fang zhengshu <fangzhsh07@gmail.com>
To: send_question <l4-hackers@os.inf.tu-dresden.de>
Subject: time problem
Message-ID:
       <a73d246f0904052116k2b5d4640q3d66bf1a6ea2c554@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

hi all,
I write a simple test example about time function.but when I use the
"time()" function,the code can not be compiled correctly.
I just have include the <time.h>,any question?
the error I put following:
l4@192:~/tudos/l4/pkg/test_fifo/examples/client$ make
PWD=/home/l4/tudos/build/pkg/test_fifo/examples/client/OBJ-x86_586-l4v2
make  -C /home/l4/tudos/build/pkg/test_fifo/examples/client/OBJ-x86_586-l4v2
-f Makefile
make[1]: Entering directory
`/home/l4/tudos/build/pkg/test_fifo/examples/client/OBJ-x86_586-l4v2'
 ... Compiling main.o
 LD_PRELOAD=/home/l4/tudos/build/tool/gendep/libgendep.so
GENDEP_TARGET=main.o GENDEP_BINARY=cc1   gcc -m32 -c     -DUSE_UCLIBC=y
-DRAM_BASE=0x0    -DSYSTEM_x86_586_l4v2 -DARCH_x86 -DCPUTYPE_586
-DL4API_l4v2 -DCONFIG_L4_CALL_SYSCALLS -DCONFIG_L4_ABS_SYSCALLS
-I/home/l4/tudos/build/pkg/test_fifo/idl/OBJ-x86-l4v2
-I/home/l4/tudos/build/include/x86/l4v2 -I/home/l4/tudos/build/include/l4v2
-I/home/l4/tudos/build/include/x86 -I/home/l4/tudos/build/include
-I/home/l4/tudos/l4/../dice/include -I/home/drops/include/x86/l4v2
-I/home/drops/include/l4v2 -I/home/drops/include/x86 -I/home/drops/include
-nostdinc -I/home/l4/tudos/build/include/x86/uclibc
-I/home/l4/tudos/build/include/uclibc
-I/home/l4/tudos/build/include/uclibc++ -I/home/drops/include/x86/uclibc
-I/home/drops/include/uclibc -I/home/drops/include/uclibc++
-I/usr/lib/gcc/i486-linux-gnu/4.2.4/include
-I/usr/lib/gcc/i486-linux-gnu/4.2.4/include-fixed -gstabs+      -g -O2
-fno-strict-aliasing  -march=i586 -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations  -fno-common
-fno-stack-protector /home/l4/tudos/l4/pkg/test_fifo/examples/client/main.c
-o main.o
   ==> Linking test_fifo-client
   LD_PRELOAD=/home/l4/tudos/build/tool/gendep/libgendep.so
GENDEP_TARGET=test_fifo-client GENDEP_BINARY=ld  GENDEP_BINARY_ALT1=ld ld -m
elf_i386 -o test_fifo-client /home/l4/tudos/build/lib/x86_586/crt0.o main.o
test-client.o -Ttext=0x1100000 --hash-style=sysv
-L/home/l4/tudos/build/lib/x86_586/l4v2 -L/home/l4/tudos/build/lib/x86_586
-L/home/l4/tudos/build/lib -L/home/drops/lib/x86_586/l4v2
-L/home/drops/lib/x86_586 -L/home/drops/lib
-T/home/l4/tudos/build/lib/x86_586/main_stat.ld   -static -lgeneric_ts
-ll4env -ll4rm -ldm_generic -ldm_mem -lthread -lsemaphore
-llogserver_capsule -lnames -ll4util_root -ll4util -lsigma0 -lroot -ll4env
-ll4env_err -ll4rm -ldm_generic -ldm_mem -lthread -lslab -ll4sys -nostdlib
-luc_c -luclibc_support -u mmap_anon -lc_be_simple_mem -lc_be_mmap
-lc_be_mmap_util -lc_be_l4env_start_stop -lc_be_minimal_log_io
-luc_be_simple_sleep -ll4env -llogserver_capsule -ll4rm -ldm_generic
-ldm_mem -lthread -lgeneric_ts -luc_c
/usr/lib/gcc/i486-linux-gnu/4.2.4/libgcc.a -luc_c -ll4sys -Ttext=0x1100000
--warn-common -gc-sections
   main.o: In function `main':
   /home/l4/tudos/l4/pkg/test_fifo/examples/client/main.c:36: undefined
reference to `time'
   /home/l4/tudos/l4/pkg/test_fifo/examples/client/main.c:40: undefined
reference to `time'
   /home/l4/tudos/l4/pkg/test_fifo/examples/client/main.c:36: undefined
reference to `time'
   make[1]: *** [test_fifo-client] Error 1
   make[1]: Leaving directory
`/home/l4/tudos/build/pkg/test_fifo/examples/client/OBJ-x86_586-l4v2'
   make: ***
[/home/l4/tudos/build/pkg/test_fifo/examples/client/OBJ-x86_586-l4v2] Error
2


I have search the same error in l4-hackers ,someone suggest use rtc server,I
think it's a good idea.but I have found that the time() function  in
time.h,why the error will happen?
The reason I just include time.h?

Thank you!

--
fang,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20090406/7d3ac947/attachment.html>

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

Message: 6
Date: Mon, 06 Apr 2009 09:01:30 +0200
From: Bj?rn D?bel <doebel@os.inf.tu-dresden.de>
To: fang zhengshu <fangzhsh07@gmail.com>
Cc: L4 Hackers <l4-hackers@os.inf.tu-dresden.de>
Subject: Re: time problem
Message-ID: <49D9A8CA.6050500@os.inf.tu-dresden.de>
Content-Type: text/plain; charset=ISO-8859-1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

> I write a simple test example about time function.but when I use the
> "time()" function,the code can not be compiled correctly.
> I just have include the <time.h>,any question?

Not quite correct. Including <time.h> only pulls the _declaration_ of
the time() function into your program. In order to actually use it, you
also need to have a _definition_ of this function available.

As your local C text book will tell you, there are two ways of getting
the definition of a function:
1) implement it in your code
2) link your program with a library providing this function

> the error I put following:
> l4@192:~/tudos/l4/pkg/test_fifo/examples/client$ make
> PWD=/home/l4/tudos/build/pkg/test_fifo/examples/client/OBJ-x86_586-l4v2
> make  -C /home/l4/tudos/build/pkg/test_fifo/examples/client/OBJ-x86_586-l4v2
> -f Makefile
> make[1]: Entering directory
> `/home/l4/tudos/build/pkg/test_fifo/examples/client/OBJ-x86_586-l4v2'
>   ... Compiling main.o
>   LD_PRELOAD=/home/l4/tudos/build/tool/gendep/libgendep.so
> GENDEP_TARGET=main.o GENDEP_BINARY=cc1   gcc -m32 -c     -DUSE_UCLIBC=y
> -DRAM_BASE=0x0    -DSYSTEM_x86_586_l4v2 -DARCH_x86 -DCPUTYPE_586
> -DL4API_l4v2 -DCONFIG_L4_CALL_SYSCALLS -DCONFIG_L4_ABS_SYSCALLS
> -I/home/l4/tudos/build/pkg/test_fifo/idl/OBJ-x86-l4v2
> -I/home/l4/tudos/build/include/x86/l4v2 -I/home/l4/tudos/build/include/l4v2
> -I/home/l4/tudos/build/include/x86 -I/home/l4/tudos/build/include
> -I/home/l4/tudos/l4/../dice/include -I/home/drops/include/x86/l4v2
> -I/home/drops/include/l4v2 -I/home/drops/include/x86 -I/home/drops/include
> -nostdinc -I/home/l4/tudos/build/include/x86/uclibc
> -I/home/l4/tudos/build/include/uclibc
> -I/home/l4/tudos/build/include/uclibc++ -I/home/drops/include/x86/uclibc
> -I/home/drops/include/uclibc -I/home/drops/include/uclibc++
> -I/usr/lib/gcc/i486-linux-gnu/4.2.4/include
> -I/usr/lib/gcc/i486-linux-gnu/4.2.4/include-fixed -gstabs+      -g -O2
> -fno-strict-aliasing  -march=i586 -Wall -Wstrict-prototypes
> -Wmissing-prototypes -Wmissing-declarations  -fno-common
> -fno-stack-protector /home/l4/tudos/l4/pkg/test_fifo/examples/client/main.c
> -o main.o
>     ==> Linking test_fifo-client
>     LD_PRELOAD=/home/l4/tudos/build/tool/gendep/libgendep.so
> GENDEP_TARGET=test_fifo-client GENDEP_BINARY=ld  GENDEP_BINARY_ALT1=ld ld -m
> elf_i386 -o test_fifo-client /home/l4/tudos/build/lib/x86_586/crt0.o main.o
> test-client.o -Ttext=0x1100000 --hash-style=sysv
> -L/home/l4/tudos/build/lib/x86_586/l4v2 -L/home/l4/tudos/build/lib/x86_586
> -L/home/l4/tudos/build/lib -L/home/drops/lib/x86_586/l4v2
> -L/home/drops/lib/x86_586 -L/home/drops/lib
> -T/home/l4/tudos/build/lib/x86_586/main_stat.ld   -static -lgeneric_ts
> -ll4env -ll4rm -ldm_generic -ldm_mem -lthread -lsemaphore
> -llogserver_capsule -lnames -ll4util_root -ll4util -lsigma0 -lroot -ll4env
> -ll4env_err -ll4rm -ldm_generic -ldm_mem -lthread -lslab -ll4sys -nostdlib
> -luc_c -luclibc_support -u mmap_anon -lc_be_simple_mem -lc_be_mmap
> -lc_be_mmap_util -lc_be_l4env_start_stop -lc_be_minimal_log_io
> -luc_be_simple_sleep -ll4env -llogserver_capsule -ll4rm -ldm_generic
> -ldm_mem -lthread -lgeneric_ts -luc_c
> /usr/lib/gcc/i486-linux-gnu/4.2.4/libgcc.a -luc_c -ll4sys -Ttext=0x1100000
> --warn-common -gc-sections
>     main.o: In function `main':
>     /home/l4/tudos/l4/pkg/test_fifo/examples/client/main.c:36: undefined
> reference to `time'
>     /home/l4/tudos/l4/pkg/test_fifo/examples/client/main.c:40: undefined
> reference to `time'
>     /home/l4/tudos/l4/pkg/test_fifo/examples/client/main.c:36: undefined
> reference to `time'

This is what the linker is telling you here: I cannot find a definition
of time(), but i desparately need one.

> [..]
>
> I have search the same error in l4-hackers ,someone suggest use rtc server,I
> think it's a good idea.but I have found that the time() function  in
> time.h,why the error will happen?
> The reason I just include time.h?

Indeed, the time() function is provided by libc_be_time, which comes as
part of the rtc package. So what you need to do is add

LIBS += -lc_be_time

to your Makefile.

Cheers,
Bjoern
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknZqMgACgkQP5ijxgQLUNk5eQCdG0MHez/8dCyxaRrxuPj1DoVN
M6cAnRQTA1nJw5aHBl6awaQnwIYZbrFe
=oqIX
-----END PGP SIGNATURE-----



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

Message: 7
Date: Mon, 06 Apr 2009 09:48:09 +0200
From: Alexander Boettcher <boettcher@os.inf.tu-dresden.de>
To: L4 Hackers <l4-hackers@os.inf.tu-dresden.de>
Subject: Re: l4ts_free_task()
Message-ID: <49D9B3B9.4060701@os.inf.tu-dresden.de>
Content-Type: text/plain; charset="iso-8859-15"


-------------- next part --------------
An embedded message was scrubbed...
From: Alexander Boettcher <boettcher@os.inf.tu-dresden.de>
Subject: Re: l4ts_free_task()
Date: Mon, 06 Apr 2009 09:42:21 +0200
Size: 1218
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20090406/e1102da1/attachment.eml>

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

_______________________________________________
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


End of l4-hackers Digest, Vol 72, Issue 7
*****************************************



--
fang,