From: <cli...@li...> - 2004-04-21 21:26:01
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/src lispbibl.d,1.455,1.456 ChangeLog,1.2886,1.2887 (Bruno Haible) 2. clisp/src lispbibl.d,1.456,1.457 ChangeLog,1.2887,1.2888 (Bruno Haible) 3. clisp/tests tests.lisp,1.26,1.27 number2.tst,1.17,1.18 clos.tst,1.38,1.39 ChangeLog,1.140,1.141 (Bruno Haible) 4. clisp/src makemake.in,1.429,1.430 ChangeLog,1.2888,1.2889 (Bruno Haible) 5. clisp/src ChangeLog,1.2889,1.2890 (Bruno Haible) 6. clisp/utils clispload.lsp,1.8,1.9 (Bruno Haible) 7. clisp/src disassem.lisp,1.13,1.14 ChangeLog,1.2890,1.2891 (Bruno Haible) 8. clisp/src stream.d,1.429,1.430 ChangeLog,1.2891,1.2892 (Bruno Haible) 9. clisp/src disassem.lisp,1.14,1.15 ChangeLog,1.2892,1.2893 (Sam Steingold) 10. clisp/src ChangeLog,1.2893,1.2894 (Sam Steingold) 11. clisp/utils clispload.lsp,1.9,1.10 (Sam Steingold) 12. clisp/modules/rawsock - New directory (Sam Steingold) 13. clisp/src ChangeLog,1.2894,1.2895 (Bruno Haible) 14. clisp/utils clispload.lsp,1.10,1.11 (Bruno Haible) 15. clisp/modules/rawsock sock.lisp,NONE,1.1 rawsock.xml,NONE,1.1 rawsock.c,NONE,1.1 preload.lisp,NONE,1.1 link.sh.in,NONE,1.1 configure.in,NONE,1.1 configure,NONE,1.1 config.h.in,NONE,1.1 Makefile.in,NONE,1.1 (Sam Steingold) --__--__-- Message: 1 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src lispbibl.d,1.455,1.456 ChangeLog,1.2886,1.2887 Date: Wed, 21 Apr 2004 10:54:45 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30788/src Modified Files: lispbibl.d ChangeLog Log Message: Fix bad German -> English translation. Index: lispbibl.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/lispbibl.d,v retrieving revision 1.455 retrieving revision 1.456 diff -u -d -r1.455 -r1.456 --- lispbibl.d 20 Apr 2004 18:46:07 -0000 1.455 +++ lispbibl.d 21 Apr 2004 10:52:23 -0000 1.456 @@ -7347,9 +7347,9 @@ setSP(sp); # First decrease SP (because of a possible interrupt!) \ sp[SPoffset] = (item); /* then insert item as top-of-SP */ \ } while(0) - #define popSP(item_allocation) \ + #define popSP(item_assignment) \ do { var register SPint* sp = (SPint*)SP(); \ - item_allocation sp[SPoffset]; # First fetch top-of-SP \ + item_assignment sp[SPoffset]; # First fetch top-of-SP \ sp skipSPop 1; \ setSP(sp); # then (danger of interrupt!) increase SP \ } while(0) @@ -7372,10 +7372,10 @@ do { var register SPint __item = (item); \ __asm__ __volatile__ ("movel %0,"REGISTER_PREFIX"sp@-" : : "g" (__item) : "sp" ); \ } while(0) - #define popSP(item_allocation) \ + #define popSP(item_assignment) \ do { var register SPint __item; \ __asm__ __volatile__ ("movel "REGISTER_PREFIX"sp@+,%0" : "=r" (__item) : : "sp" ); \ - item_allocation __item; \ + item_assignment __item; \ } while(0) #endif # An sp_jmp_buf is exactly the same as a jmp_buf, @@ -10129,17 +10129,17 @@ # is used by EVAL, CONTROL, DEBUG # Finishes a Frame with entry point and places jump-point here. -# finish_entry_frame(frametype,returner,retval_allocation,reentry_statement); +# finish_entry_frame(frametype,returner,retval_assignment,reentry_statement); # > gcv_object_t* top_of_frame: pointer to the top of the frame # > sp_jmp_buf* returner: longjmp-Buffer for re-entry -# > retval_allocation: allocated of the setjmp()-value to a variable +# > retval_assignment: allocated of the setjmp()-value to a variable # > reentry_statement: what is to be done immediately after re-entry. # decreases STACK by 1 -#define finish_entry_frame(frametype,returner,retval_allocation,reentry_statement) \ +#define finish_entry_frame(frametype,returner,retval_assignment,reentry_statement) \ do { pushSTACK(fake_gcv_object((aint)(returner))); # SP onto the Stack \ pushSTACK(nullobj); # dummy onto the Stack, until re-entry is permitted \ begin_setjmp_call(); \ - if ((retval_allocation setjmpspl(returner))!=0) # set point for returner \ + if ((retval_assignment setjmpspl(returner))!=0) # set point for returner \ { end_longjmp_call(); LONGJMP_RESTORE_mv_count(); LONGJMP_RESTORE_value1(); reentry_statement } # after re-entry \ else \ { end_setjmp_call(); STACK_0 = framebottomword(frametype##_frame_info,top_of_frame,STACK); } \ Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2886 retrieving revision 1.2887 diff -u -d -r1.2886 -r1.2887 --- ChangeLog 21 Apr 2004 10:49:54 -0000 1.2886 +++ ChangeLog 21 Apr 2004 10:54:17 -0000 1.2887 @@ -1,5 +1,9 @@ 2004-04-12 Bruno Haible <br...@cl...> + * lispbibl.d (popSP, finish_entry_frame): Rename macro parameter. + +2004-04-12 Bruno Haible <br...@cl...> + Make the WIDE_SOFT model work again. * genclisph.d (main): Emit definition for one_o. --__--__-- Message: 2 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src lispbibl.d,1.456,1.457 ChangeLog,1.2887,1.2888 Date: Wed, 21 Apr 2004 10:56:07 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31351/src Modified Files: lispbibl.d ChangeLog Log Message: Avoid a gcc warning in C functions whose last statement is the invocation of a restartf_t. Index: lispbibl.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/lispbibl.d,v retrieving revision 1.456 retrieving revision 1.457 diff -u -d -r1.456 -r1.457 --- lispbibl.d 21 Apr 2004 10:52:23 -0000 1.456 +++ lispbibl.d 21 Apr 2004 10:56:04 -0000 1.457 @@ -10262,7 +10262,7 @@ # and then jumps to unwind_protect_to_save.fun. # modifies STACK # can trigger GC -typedef /* nonreturning */ void (*restartf_t)(gcv_object_t* upto_frame); +nonreturning_function(typedef, (*restartf_t), (gcv_object_t* upto_frame)); typedef struct { restartf_t fun; gcv_object_t* upto_frame; Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2887 retrieving revision 1.2888 diff -u -d -r1.2887 -r1.2888 --- ChangeLog 21 Apr 2004 10:54:17 -0000 1.2887 +++ ChangeLog 21 Apr 2004 10:56:04 -0000 1.2888 @@ -1,5 +1,9 @@ 2004-04-12 Bruno Haible <br...@cl...> + * lispbibl.d (restartf_t): Define as nonreturning. Avoids gcc warnings. + +2004-04-12 Bruno Haible <br...@cl...> + * lispbibl.d (popSP, finish_entry_frame): Rename macro parameter. 2004-04-12 Bruno Haible <br...@cl...> --__--__-- Message: 3 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/tests tests.lisp,1.26,1.27 number2.tst,1.17,1.18 clos.tst,1.38,1.39 ChangeLog,1.140,1.141 Date: Wed, 21 Apr 2004 10:58:11 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31649/tests Modified Files: tests.lisp number2.tst clos.tst ChangeLog Log Message: Remove old hacks. Index: tests.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/tests/tests.lisp,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- tests.lisp 7 Jan 2004 22:13:50 -0000 1.26 +++ tests.lisp 21 Apr 2004 10:58:07 -0000 1.27 @@ -1,6 +1,11 @@ ;; run the test suit: -#+CLISP +#+OLD-CLISP +;; Binding *ERROR-HANDLER* is a hammer technique for catching errors. It also +;; disables CLCS processing and thus breaks tests that rely on the condition +;; system, such as: +;; - the compile-file on structure literal test in clos.lisp +;; - all tests that use IGNORE-ERRORS (defmacro with-ignored-errors (&rest forms) (let ((b (gensym))) `(BLOCK ,b @@ -31,7 +36,7 @@ `(LET ((,r (MULTIPLE-VALUE-LIST (EXCL:ERRORSET (PROGN ,@forms))))) (IF (CAR ,r) (VALUES-LIST (CDR ,r)) 'ERROR)))) -#-(or CLISP AKCL ECL ALLEGRO) +#-(or OLD-CLISP AKCL ECL ALLEGRO) (defmacro with-ignored-errors (&rest forms) (let ((b (gensym))) `(BLOCK ,b Index: number2.tst =================================================================== RCS file: /cvsroot/clisp/clisp/tests/number2.tst,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- number2.tst 16 Apr 2004 15:30:13 -0000 1.17 +++ number2.tst 21 Apr 2004 10:58:09 -0000 1.18 @@ -36,8 +36,6 @@ ;; transcendental functions -#+clisp (setq *break-on-warnings* t) #+clisp t - (expt -5s0 2s0) #c(25s0 0s0) (expt -5f0 2f0) #c(25f0 0f0) (expt -5d0 2d0) #c(25d0 0d0) Index: clos.tst =================================================================== RCS file: /cvsroot/clisp/clisp/tests/clos.tst,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- clos.tst 4 Apr 2004 15:29:29 -0000 1.38 +++ clos.tst 21 Apr 2004 10:58:09 -0000 1.39 @@ -549,13 +549,7 @@ ;; From: Kaz Kylheku <ka...@as...> ;; Date: Sat, 3 Jan 2004 14:47:25 -0800 (PST) ;; <http://article.gmane.org/gmane.lisp.clisp.general:7853> -;; this is insane but necessary: -;; WITH-IGNORED-ERRORS in tests.lisp binds *ERROR-HANDLER* which -;; disables CLCS processing and thus compiled output breaks in -;; MAKE-INIT-FORM - NO-APPLICABLE-METHOD for MAKE-LOAD-FORM, -;; therefore we have to bind *ERROR-HANDLER* to NIL ourselves here -(let* ((*ERROR-HANDLER* NIL) - (file "foo.lisp") c) +(let ((file "foo.lisp") c) (unwind-protect (progn (makunbound '*foo*) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/tests/ChangeLog,v retrieving revision 1.140 retrieving revision 1.141 diff -u -d -r1.140 -r1.141 --- ChangeLog 20 Apr 2004 18:45:50 -0000 1.140 +++ ChangeLog 21 Apr 2004 10:58:09 -0000 1.141 @@ -1,3 +1,11 @@ +2004-04-12 Bruno Haible <br...@cl...> + + * tests.lisp (with-ignored-errors): Use portable definition instead of + the old CLISP hammer definition. + * clos.tst: Remove hack. + + * number2.tst: Remove *break-on-warnings* setting. + 2004-04-20 Sam Steingold <sd...@gn...> * path.tst: added tests for non-wild pathnames returned by --__--__-- Message: 4 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src makemake.in,1.429,1.430 ChangeLog,1.2888,1.2889 Date: Wed, 21 Apr 2004 13:55:09 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29277 Modified Files: makemake.in ChangeLog Log Message: Determine the version of gcc correctly, even if it was built with --enable-nls. Index: makemake.in =================================================================== RCS file: /cvsroot/clisp/clisp/src/makemake.in,v retrieving revision 1.429 retrieving revision 1.430 diff -u -d -r1.429 -r1.430 --- makemake.in 19 Apr 2004 01:58:22 -0000 1.429 +++ makemake.in 21 Apr 2004 13:52:17 -0000 1.430 @@ -779,7 +779,7 @@ # Main compiler dependencies: if [ $XCC_GCC = true ] ; then - XCC_GCC_VERSION=`$XCC -v 2>&1 | grep version | tail -1 | sed -e 's/.*version //g' -e 's/gcc //'` + XCC_GCC_VERSION=`LC_ALL=C $XCC -v 2>&1 | grep version | tail -1 | sed -e 's/.*version //g' -e 's/gcc //'` XCFLAGS='-W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type ' if [ $CROSS = false ] ; then case "$XCC_GCC_VERSION" in Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2888 retrieving revision 1.2889 diff -u -d -r1.2888 -r1.2889 --- ChangeLog 21 Apr 2004 10:56:04 -0000 1.2888 +++ ChangeLog 21 Apr 2004 13:52:45 -0000 1.2889 @@ -1,3 +1,7 @@ +2004-04-21 Bruno Haible <br...@cl...> + + * makemake.in (XCC_GCC_VERSION): Invoke gcc -v in the C locale. + 2004-04-12 Bruno Haible <br...@cl...> * lispbibl.d (restartf_t): Define as nonreturning. Avoids gcc warnings. --__--__-- Message: 5 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.2889,1.2890 Date: Wed, 21 Apr 2004 17:42:56 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5024/src Modified Files: ChangeLog Log Message: Reduce warnings verbosity. Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2889 retrieving revision 1.2890 diff -u -d -r1.2889 -r1.2890 --- ChangeLog 21 Apr 2004 13:52:45 -0000 1.2889 +++ ChangeLog 21 Apr 2004 17:42:42 -0000 1.2890 @@ -1,5 +1,9 @@ 2004-04-21 Bruno Haible <br...@cl...> + * utils/clispload.lsp: Set *warn-on-floating-point...contagion* to nil. + +2004-04-21 Bruno Haible <br...@cl...> + * makemake.in (XCC_GCC_VERSION): Invoke gcc -v in the C locale. 2004-04-12 Bruno Haible <br...@cl...> --__--__-- Message: 6 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/utils clispload.lsp,1.8,1.9 Date: Wed, 21 Apr 2004 17:42:56 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5024/utils Modified Files: clispload.lsp Log Message: Reduce warnings verbosity. Index: clispload.lsp =================================================================== RCS file: /cvsroot/clisp/clisp/utils/clispload.lsp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- clispload.lsp 20 Apr 2004 22:14:08 -0000 1.8 +++ clispload.lsp 21 Apr 2004 17:42:54 -0000 1.9 @@ -123,5 +123,9 @@ ;; A few tests call DISASSEMBLE. Make it work without user intervention. (setf (ext:getenv "PAGER") "cat") +;; Avoid warnings that bloat the log file. +(setq *warn-on-floating-point-contagion* nil + *warn-on-floating-point-rational-contagion* nil) + ;; Then the tests. (load "gclload2.lsp") --__--__-- Message: 7 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src disassem.lisp,1.13,1.14 ChangeLog,1.2890,1.2891 Date: Wed, 21 Apr 2004 18:45:48 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18982 Modified Files: disassem.lisp ChangeLog Log Message: Be nice when gdb is not found. Index: disassem.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/disassem.lisp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- disassem.lisp 16 Apr 2004 19:46:58 -0000 1.13 +++ disassem.lisp 21 Apr 2004 18:45:20 -0000 1.14 @@ -18,7 +18,7 @@ #+UNIX (:method ((object string) &rest junk) (declare (ignore junk)) (disassemble-machine-code - (sys::program-name) (sys::program-id) object)) + (sys::program-name) (sys::program-id) nil object)) (:method ((object clos::standard-method) &rest junk) (declare (ignore junk)) (disassemble (clos::std-method-function object)) @@ -49,7 +49,7 @@ #+UNIX (when (sys::code-address-of object) (return-from disassemble (disassemble-machine-code - (sys::program-name) (sys::program-id) + (sys::program-name) (sys::program-id) object (format nil "0x~X" (sys::code-address-of object))))) (unless (sys::closurep object) (error-of-type 'error (TEXT "Cannot disassemble ~S") object)) @@ -72,8 +72,15 @@ ;; Bruno Haible 1995 ;; you may customize it to your needs. #+UNIX -(defun disassemble-machine-code (program-name pid address) +(defun disassemble-machine-code (program-name pid function address) ;; This uses gdb. + (unless (= (shell "gdb --version > /dev/null 2>&1") 0) + (when function + ;; Show at least some basic information about the function. + (describe function)) + (fresh-line) + (format t (TEXT "Cannot show machine instructions: gdb not found.")) + (return-from disassemble-machine-code nil)) (unless (stringp address) (setq address (format nil "~A" address))) (let ((tempfilename (format nil "/tmp/gdbcomm~D" pid)) (outfilename (format nil "/tmp/gdbdis~D" pid)) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2890 retrieving revision 1.2891 diff -u -d -r1.2890 -r1.2891 --- ChangeLog 21 Apr 2004 17:42:42 -0000 1.2890 +++ ChangeLog 21 Apr 2004 18:45:21 -0000 1.2891 @@ -1,5 +1,10 @@ 2004-04-21 Bruno Haible <br...@cl...> + * disassem.lisp (disassemble-machine-code): Add the function object as + argument. Give a nice message when gdb is not found. + +2004-04-21 Bruno Haible <br...@cl...> + * utils/clispload.lsp: Set *warn-on-floating-point...contagion* to nil. 2004-04-21 Bruno Haible <br...@cl...> --__--__-- Message: 8 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src stream.d,1.429,1.430 ChangeLog,1.2891,1.2892 Date: Wed, 21 Apr 2004 19:25:16 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27298 Modified Files: stream.d ChangeLog Log Message: Make (stream-element-type *terminal-io*) work as expected. Index: stream.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/stream.d,v retrieving revision 1.429 retrieving revision 1.430 diff -u -d -r1.429 -r1.430 --- stream.d 19 Apr 2004 11:07:35 -0000 1.429 +++ stream.d 21 Apr 2004 19:24:01 -0000 1.430 @@ -14965,6 +14965,9 @@ #ifdef SOCKET_STREAMS case strmtype_socket: #endif + #if ((defined(UNIX) && !defined(NEXTAPP)) || defined(WIN32_NATIVE)) && defined(UNICODE) + case strmtype_terminal: + #endif VALUES1(TheStream(stream)->strm_encoding); break; case strmtype_broad: stream = broadcast_stream_last(stream); Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2891 retrieving revision 1.2892 diff -u -d -r1.2891 -r1.2892 --- ChangeLog 21 Apr 2004 18:45:21 -0000 1.2891 +++ ChangeLog 21 Apr 2004 19:24:37 -0000 1.2892 @@ -1,5 +1,10 @@ 2004-04-21 Bruno Haible <br...@cl...> + * stream.d (STREAM-EXTERNAL-FORMAT): For terminal_stream, return the + terminal stream's strm_encoding on those platforms where it is used. + +2004-04-21 Bruno Haible <br...@cl...> + * disassem.lisp (disassemble-machine-code): Add the function object as argument. Give a nice message when gdb is not found. --__--__-- Message: 9 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src disassem.lisp,1.14,1.15 ChangeLog,1.2892,1.2893 Date: Wed, 21 Apr 2004 19:42:41 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31164/src Modified Files: disassem.lisp ChangeLog Log Message: (disassemble): do not signal an error when cannot disassemble a built-in C function Index: disassem.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/disassem.lisp,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- disassem.lisp 21 Apr 2004 18:45:20 -0000 1.14 +++ disassem.lisp 21 Apr 2004 19:42:18 -0000 1.15 @@ -52,7 +52,8 @@ (sys::program-name) (sys::program-id) object (format nil "0x~X" (sys::code-address-of object))))) (unless (sys::closurep object) - (error-of-type 'error (TEXT "Cannot disassemble ~S") object)) + (warn (TEXT "Cannot disassemble natively compiled function ~S") object) + (describe object)) ;; the object is a closure. (unless (sys::%compiled-function-p object) (setq object Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2892 retrieving revision 1.2893 diff -u -d -r1.2892 -r1.2893 --- ChangeLog 21 Apr 2004 19:24:37 -0000 1.2892 +++ ChangeLog 21 Apr 2004 19:42:18 -0000 1.2893 @@ -1,3 +1,8 @@ +2004-04-21 Sam Steingold <sd...@gn...> + + * disassem.lisp (disassemble): do not signal an error when cannot + disassemble a built-in C function + 2004-04-21 Bruno Haible <br...@cl...> * stream.d (STREAM-EXTERNAL-FORMAT): For terminal_stream, return the --__--__-- Message: 10 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.2893,1.2894 Date: Wed, 21 Apr 2004 19:47:00 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31959/src Modified Files: ChangeLog Log Message: [WIN32]: do not mark DISASSEMBLE.* as expected failures Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2893 retrieving revision 1.2894 diff -u -d -r1.2893 -r1.2894 --- ChangeLog 21 Apr 2004 19:42:18 -0000 1.2893 +++ ChangeLog 21 Apr 2004 19:46:09 -0000 1.2894 @@ -2,6 +2,8 @@ * disassem.lisp (disassemble): do not signal an error when cannot disassemble a built-in C function + * utils/clispload.lsp [WIN32]: do not mark DISASSEMBLE.* as + expected failures 2004-04-21 Bruno Haible <br...@cl...> --__--__-- Message: 11 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/utils clispload.lsp,1.9,1.10 Date: Wed, 21 Apr 2004 19:46:11 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31959/utils Modified Files: clispload.lsp Log Message: [WIN32]: do not mark DISASSEMBLE.* as expected failures Index: clispload.lsp =================================================================== RCS file: /cvsroot/clisp/clisp/utils/clispload.lsp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- clispload.lsp 21 Apr 2004 17:42:54 -0000 1.9 +++ clispload.lsp 21 Apr 2004 19:46:05 -0000 1.10 @@ -115,9 +115,6 @@ ;; test bug PRINT.SYMBOL.PREFIX.3 - - ;; win32 cannot disassemble subrs - #+win32 DISASSEMBLE.1 #+win32 DISASSEMBLE.2 )) ;; A few tests call DISASSEMBLE. Make it work without user intervention. --__--__-- Message: 12 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/rawsock - New directory Date: Wed, 21 Apr 2004 20:16:42 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/rawsock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5948/modules/rawsock Log Message: Directory /cvsroot/clisp/clisp/modules/rawsock added to the repository --__--__-- Message: 13 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.2894,1.2895 Date: Wed, 21 Apr 2004 20:42:18 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10468/src Modified Files: ChangeLog Log Message: 16 more tests are now fulfilled by clisp. Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2894 retrieving revision 1.2895 diff -u -d -r1.2894 -r1.2895 --- ChangeLog 21 Apr 2004 19:46:09 -0000 1.2894 +++ ChangeLog 21 Apr 2004 20:41:56 -0000 1.2895 @@ -63,6 +63,8 @@ * misc.d (SYS::SET-ANSI): Set *FLOATING-POINT-RATIONAL-CONTAGION-ANSI* and *PHASE-ANSI* as well. * places.lisp (*ansi*): Update documentation. + * utils/clispload.lsp (*expected-failures*): Remove ATAN.4, + EXPT.{3,4,5,6}, EXPT.{8,9,10,11}, PHASE.{1,2,3,4,5,6,7}. 2004-04-11 Bruno Haible <br...@cl...> --__--__-- Message: 14 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/utils clispload.lsp,1.10,1.11 Date: Wed, 21 Apr 2004 20:41:58 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10468/utils Modified Files: clispload.lsp Log Message: 16 more tests are now fulfilled by clisp. Index: clispload.lsp =================================================================== RCS file: /cvsroot/clisp/clisp/utils/clispload.lsp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- clispload.lsp 21 Apr 2004 19:46:05 -0000 1.10 +++ clispload.lsp 21 Apr 2004 20:41:52 -0000 1.11 @@ -74,10 +74,6 @@ DEFGENERIC-METHOD-COMBINATION.PROGN.10 DEFGENERIC-METHOD-COMBINATION.PROGN.11 - ;; ANSI CL 12.1.4.4. implies that (ATAN 0 1.0) is 0.0. - ;; In CLISP it is the exact 0. - ATAN.4 - ;; In CLISP (atan 1L0) is more than long-float-epsilon apart from (/ pi 4). ATAN.11 ATAN.13 @@ -85,23 +81,10 @@ ;; to be different from #C(1.0s0 0.0s0). /.8 - ;; ANSI CL 12.1.4.4. implies that (EXPT any-single-float 0) is 1.0. - ;; In CLISP it is the exact 1. - EXPT.3 EXPT.4 EXPT.5 EXPT.6 - - ;; ANSI CL 12.1.4.4. implies assumes that (EXPT any-complex-single-float 0) - ;; is #c(1.0 0.0). - ;; In CLISP it is the exact 1. - EXPT.8 EXPT.9 EXPT.10 EXPT.11 - ;; CLISP supports complex numbers with realpart and imagpart of different ;; type. COMPLEX.2 COMPLEX.4 COMPLEX.5 - ;; ANSI CL 12.1.4.4. implies that (PHASE any-nonnegative-real-number) is 0.0. - ;; In CLISP it is the exact 0. - PHASE.1 PHASE.2 PHASE.3 PHASE.4 PHASE.5 PHASE.6 PHASE.7 - ;; In CLISP the classes CLASS and METHOD are implemented as structures. TYPES.3 BUILT-IN-CLASS-CPL STANDARD-CLASS-CPL STANDARD-METHOD-CPL --__--__-- Message: 15 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/rawsock sock.lisp,NONE,1.1 rawsock.xml,NONE,1.1 rawsock.c,NONE,1.1 preload.lisp,NONE,1.1 link.sh.in,NONE,1.1 configure.in,NONE,1.1 configure,NONE,1.1 config.h.in,NONE,1.1 Makefile.in,NONE,1.1 Date: Wed, 21 Apr 2004 21:24:16 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/rawsock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18221/modules/rawsock Added Files: sock.lisp rawsock.xml rawsock.c preload.lisp link.sh.in configure.in configure config.h.in Makefile.in Log Message: modules/rawsock: new module for low-level socket access From Don & Fred Cohens <fc...@al..., don...@is...> --- NEW FILE: link.sh.in --- files='rawsock.o' make clisp-module \ CC="${CC}" CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" \ INCLUDES="$absolute_linkkitdir" NEW_FILES="${files}" NEW_LIBS="${files} @LIBS@" NEW_MODULES="rawsock" TO_LOAD='sock' TO_LOAD='preload.lisp' --- NEW FILE: rawsock.xml --- <?xml version="1.0" encoding="UTF-8"?> <section id="rawsock"><title>Raw Socket Access.</title> <para>This is the raw socket interface, as described in &socket-h;. This interface is very low-level, and you probably do not need it. If you are interested in TCP/IP (Internet) socket streams, you should use &socket-stream;s, ¬-e; this package.</para> </section> --- NEW FILE: rawsock.c --- /* * Module for Raw Sockets / CLISP * Fred Cohen, 2003-2004 * Don Cohen, 2003-2004 * Sam Steingold 2004 * <http://www.opengroup.org/onlinepubs/007908799/xns/syssocket.h.html> */ #include "clisp.h" #if defined(HAVE_SYS_TYPES_H) # include <sys/types.h> #endif #if defined(STDC_HEADERS) # include <stdio.h> #endif #if defined(HAVE_SYS_SOCKET_H) # include <sys/socket.h> #endif #if defined(HAVE_NETINET_IN_H) # include <netinet/in.h> #endif #if defined(HAVE_ARPA_INET_H) # include <arpa/inet.h> #endif #if defined(HAVE_LINUX_IF_PACKET_H) # include <linux/if_packet.h> #endif #if defined(HAVE_NETINET_IF_ETHER_H) # include <netinet/if_ether.h> #endif #if defined(HAVE_NET_IF_H) # include <net/if.h> #endif #if defined(HAVE_SYS_IOCTL_H) #include <sys/ioctl.h> #endif #define snaplen 1518 #define MAX_DEVICE_NAME_SIZE 14 #define BUFSIZE 2*snaplen #define ETH_HEAD_LEN 14 #define ARP_HEAD_LEN 28 #define IP_HEAD_LEN 20 /* don't use ----ip varible size use ip->ip_hl = num of 32 bit words */ #define TCP_HEAD_LEN 20 /* don't use ----ip varible size use ip->ip_hl = num of 32 bit words */ #define TCP_HEAD_BASE (ETH_HEAD_LEN + IP_HEAD_LEN) #define FIN 0x01 #define SYN 0x02 #define RST 0x04 #define PSH 0x08 #define ACK 0x10 #define URG 0x20 #if defined(HAVE_ERRNO_H) # include <errno.h> #endif DEFMODULE(rawsock,"RAWSOCK") nonreturning_function(static,my_type_error,(object type, object datum)) { pushSTACK(datum); /* TYPE-ERROR slot DATUM */ pushSTACK(type); /* TYPE-ERROR slot TYPE */ pushSTACK(type); pushSTACK(datum); pushSTACK(TheSubr(subr_self)->name); fehler (type_error, ("~S: ~S is not of type ~S")); } static unsigned char* check_buffer_arg (object arg) { if (missingp(arg)) { return TheSbvector(O(buffer))->data; } else if (simple_bit_vector_p(Atype_8Bit,arg)) { return TheSbvector(arg)->data; } else my_type_error(arg,S(simple_bit_vector)); } DEFVAR(buffer,`#.(MAKE-ARRAY 1518 :ELEMENT-TYPE (QUOTE (UNSIGNED-BYTE 8)))`); DEFUN(RAWSOCK:BUFFER,) { VALUES1(O(buffer)); } DEFUN(RAWSOCK:SOCKET,) { /* domain type protocol */ begin_system_call(); VALUES1(fixnum(socket(PF_INET, SOCK_PACKET, htons(ETH_P_ALL)))); end_system_call(); } DEFUN(RAWSOCK:CLOSESOCK, socket) { int socket = posfixnum_to_L(check_posfixnum(popSTACK())); begin_system_call(); VALUES1(fixnum(close(socket))); end_system_call(); } DEFUN(RAWSOCK:RECVFROM, socket) { int socket = posfixnum_to_L(check_posfixnum(popSTACK())); begin_system_call(); VALUES1(fixnum(recvfrom(socket, TheSbvector(O(buffer))->data, vector_length(O(buffer)), 0, NULL, 0))); end_system_call(); } DEFUN(RAWSOCK:SENDTO, socket &key SIZE) { int size = (missingp(STACK_0) ? skipSTACK(1), vector_length(O(buffer)) : posfixnum_to_L(check_posfixnum(popSTACK()))); int socket = posfixnum_to_L(check_posfixnum(popSTACK())); begin_system_call(); VALUES1(fixnum(sendto(socket, TheSbvector(O(buffer))->data, size, 0, NULL, 0))); end_system_call(); } DEFUN(RAWSOCK:SHUTDOWN, socket direction) { direction_t direction = check_direction(popSTACK()); int socket = posfixnum_to_L(check_posfixnum(popSTACK())); int how; switch (direction) { case DIRECTION_PROBE: case DIRECTION_IO: how = SHUT_RDWR; break; case DIRECTION_INPUT_IMMUTABLE: case DIRECTION_INPUT: how = SHUT_RD; break; case DIRECTION_OUTPUT: how = SHUT_WR; break; default: NOTREACHED; } begin_system_call(); VALUES1(fixnum(shutdown(socket,how))); end_system_call(); } /* STACK_3 = name, for error reporting */ local void configdev (int socket, char* name, int ipaddress, int flags) { struct ifreq ifrequest; memset(&ifrequest, 0, sizeof(struct ifreq)); strcpy(ifrequest.ifr_name, name); if (ioctl(socket, SIOCGIFFLAGS, &ifrequest) < 0) OS_file_error(STACK_3); ifrequest.ifr_flags |= flags; if (ioctl(socket, SIOCSIFFLAGS, &ifrequest) < 0) OS_file_error(STACK_3); memset(&ifrequest, 0, sizeof(struct ifreq)); strcpy(ifrequest.ifr_name, name); if (ioctl(socket, SIOCGIFADDR, &ifrequest) < 0) OS_file_error(STACK_3); /* add was 0.0.0.0 -> error */ if (ipaddress != 0) { if (ioctl(socket, SIOCGIFADDR, &ifrequest) < 0) OS_file_error(STACK_3); else { register int j; for (j=2;j<6;j++) ifrequest.ifr_addr.sa_data[j] = 0; if (ioctl(socket, SIOCSIFADDR, &ifrequest) < 0) OS_file_error(STACK_3); } } } DEFUN(RAWSOCK:CONFIGDEV, socket name ipaddress &key PROMISC NOARP) { int flags = 0 | (missingp(STACK_0) ? 0 : IFF_NOARP) | (missingp(STACK_1) ? 0 : IFF_PROMISC); uint32_t ipaddress = I_to_UL(check_uint32(STACK_2)); int socket = posfixnum_to_L(check_posfixnum(STACK_4)); with_string_0(check_string(STACK_3),Symbol_value(S(utf_8)),name, { begin_system_call(); configdev(socket, name, ipaddress, flags); end_system_call(); }); VALUES0; } DEFUN(RAWSOCK:IPCSUM, &optional buffer) { /* IP CHECKSUM */ unsigned char* buffer = check_buffer_arg(popSTACK()); register long sum=0; /* assumes long == 32 bits */ unsigned short result; unsigned char *ptr=&(buffer[14]); unsigned int nbytes; buffer[24]=0;buffer[25]=0;nbytes=(buffer[14] & 0xF) << 2; /* checksum=0, headerlen */ while(nbytes>1){sum += *ptr; ptr++; sum += *ptr <<8; ptr++; nbytes -= 2;} if(nbytes==1){sum += *ptr;} /* mop up an odd byte, if necessary */ sum = (sum >> 16) + (sum & 0xFFFF); result=~(sum + (sum >> 16)) & 0xFFFF; buffer[24]=(result & 0xFF); buffer[25]=((result >> 8) & 0xFF); VALUES1(fixnum(result)); } DEFUN(RAWSOCK:ICMPCSUM, &optional buffer) { /* ICMP CHECKSUM */ unsigned char* buffer = check_buffer_arg(popSTACK()); register long sum=0; /* assumes long == 32 bits */ unsigned short result; unsigned char *ptr; unsigned int nbytes, off, offset; off=((buffer[14]&0xF)<<2);offset=off+14; /* start of ICMP header */ buffer[offset+2]=0;buffer[offset+3]=0; nbytes=(((buffer[16])<<8)+(buffer[17]))-off; /* bytes in ICMP part */ ptr=&(buffer[offset]); while(nbytes>1){sum += *ptr; ptr++; sum += *ptr <<8; ptr++; nbytes -= 2;} if(nbytes==1){sum += *ptr;} /* mop up an odd byte, if necessary */ sum = (sum >> 16) + (sum & 0xFFFF); result=~(sum + (sum >> 16)) & 0xFFFF; buffer[offset+2]=(result & 0xFF); buffer[offset+3]=((result >> 8) & 0xFF); VALUES1(fixnum(result)); } DEFUN(RAWSOCK:TCPCSUM, &optional buffer) { /* TCP checksum */ unsigned char* buffer = check_buffer_arg(popSTACK()); register unsigned long sum; /* assumes long == 32 bits */ unsigned short result; unsigned char *ptr; unsigned int nbytes, packsize, offset; sum = (buffer[26]<<8)+ buffer[27]+(buffer[28]<<8)+ buffer[29]; /* Src IP */ sum +=(buffer[30]<<8)+ buffer[31]+(buffer[32]<<8)+ buffer[33]; /* Dst IP */ sum +=(buffer[23]); /* zero followed by protocol */ packsize=((buffer[16])<<8)+(buffer[17]); /* packet size - not including ARP area */ offset=((buffer[14]&0xF)<<2); /* start of TCP header (rel to IP header) */ sum +=(packsize - offset); /* size of TCP part of the packet */ ptr=&(buffer[offset+14]); /* start of TCP header in buffer */ nbytes=packsize-offset; /* number of bytes to checksum */ buffer[offset+16+14]=0; buffer[offset+17+14]=0; /* initialize TCP checksum to 0 */ while(nbytes>1){sum += *ptr<<8; ptr++; sum += *ptr; ptr++; nbytes -= 2;} if (nbytes==1) {sum += *ptr<<8;} /* mop up an odd byte, if necessary */ sum = (sum >> 16) + (sum & 0xFFFF); result=~(sum + (sum >> 16)) & 0xFFFF; buffer[offset+17+14]=(result & 0xFF); buffer[offset+16+14]=((result >> 8) & 0xFF); VALUES1(fixnum(result)); } DEFUN(RAWSOCK:UDPCSUM, &optional buffer) { /* UDP checksum */ unsigned char buffer = check_buffer_arg(popSTACK()); register unsigned long sum = 0; /* assumes long == 32 bits */ unsigned short result; unsigned char *ptr; unsigned int nbytes, packsize, offset; sum = (buffer[26]<<8)+ buffer[27]+(buffer[28]<<8)+ buffer[29]; /* Src IP */ sum +=(buffer[30]<<8)+ buffer[31]+(buffer[32]<<8)+ buffer[33]; /* Dst IP */ sum +=(buffer[23]); /* zero followed by protocol */ packsize=((buffer[16])<<8)+(buffer[17]); /* packet size */ offset=((buffer[14]&0xF)<<2); /* start of UDP header */ sum +=(((buffer[16])<<8)+(buffer[17])) -offset; ptr=&(buffer[offset+14]); /* start of TCP header */ nbytes=packsize-offset; buffer[offset+6+14]=0; buffer[offset+7+14]=0; /* initialize UDP checksum to 0 */ while(nbytes>1){sum += *ptr <<8; ptr++; sum += *ptr; ptr++; nbytes -= 2;} if (nbytes==1) {sum += *ptr<<8;} /* mop up an odd byte, if necessary */ sum = (sum >> 16) + (sum & 0xFFFF); result=~(sum + (sum >> 16)) & 0xFFFF; buffer[offset+7+14]=(result & 0xFF); buffer[offset+6+14]=((result >> 8) & 0xFF); VALUES1(fixnum(result)); } --- NEW FILE: config.h.in --- /* config.h.in. Generated from configure.in by autoheader. */ /* Define to 1 if you have the <arpa/inet.h> header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the <errno.h> header file. */ #undef HAVE_ERRNO_H /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the <linux/if_packet.h> header file. */ #undef HAVE_LINUX_IF_PACKET_H /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the <netinet/if_ether.h> header file. */ #undef HAVE_NETINET_IF_ETHER_H /* Define to 1 if you have the <netinet/in.h> header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the <net/if.h> header file. */ #undef HAVE_NET_IF_H /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the <sys/ioctl.h> header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the <sys/socket.h> header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the <sys/stat.h> header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS --- NEW FILE: configure --- #! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for rawsock 1.0. # # Report bugs to <clisp-list>. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. [...4098 lines suppressed...] # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi { echo "$as_me:$LINENO: * RAWSOCK (Done)" >&5 echo "$as_me: * RAWSOCK (Done)" >&6;} --- NEW FILE: preload.lisp --- (make-package "RAWSOCK") --- NEW FILE: Makefile.in --- # Makefile for CLISP module set rawsock CC = @CC@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ INCLUDES= ../ MODPREP = ../modprep.fas CLISP = clisp -q -norc LN = ln MAKE = make SHELL = /bin/sh DISTRIBFILES = rawsock.o link.sh Makefile sock.lisp rawsock.xml distribdir = all : sock.fas rawsock.o sock.fas : sock.lisp $(CLISP) -c sock.lisp rawsock.o : rawsock.m.c $(CC) $(CPPFLAGS) $(CFLAGS) -I$(INCLUDES) -c rawsock.m.c -o rawsock.o rawsock.m.c : rawsock.c $(MODPREP) $(CLISP) $(MODPREP) rawsock.c # Make a module clisp-module : all # Make a module distribution into $(distribdir) clisp-module-distrib : clisp-module force $(LN) $(DISTRIBFILES) $(distribdir) clean : force rm -f core *.o *.a force : --- NEW FILE: configure.in --- dnl AUTOCONF configuration for RAWSOCK dnl Sam Steingold 2003 AC_PREREQ(2.57) AC_INIT(rawsock, 1.0, clisp-list) AC_CONFIG_SRCDIR(sock.lisp) AC_CONFIG_HEADERS(config.h) AC_MSG_NOTICE([ * RAWSOCK (Tools)]) AC_PROG_CC AC_PROG_CPP AC_MSG_NOTICE([ * RAWSOCK (Headers):]) AC_HEADER_STDC AC_CHECK_HEADERS(sys/socket.h netinet/in.h arpa/inet.h linux/if_packet.h \ netinet/if_ether.h net/if.h sys/ioctl.h errno.h) AC_MSG_NOTICE([ * RAWSOCK (Functions):]) AC_SEARCH_LIBS(socket, socket) if test "$ac_cv_search_socket" = "no"; then AC_MSG_ERROR([cannot find SOCKET library]) fi AC_MSG_NOTICE([ * RAWSOCK (Output)]) AC_CONFIG_FILES(Makefile link.sh) AC_OUTPUT AC_MSG_NOTICE([ * RAWSOCK (Done)]) --- NEW FILE: sock.lisp --- ;; Module for Raw Sockets / CLISP ;; Fred Cohen, 2003-2004 ;; Don Cohen, 2003-2004 ;; Sam Steingold 2004 ;; <http://www.opengroup.org/onlinepubs/007908799/xns/syssocket.h.html> (defpackage "RAWSOCK" (:documentation "Raw Socket access") (:use "LISP") (:export "SOCKET" "CLOSESOCK" "BUFFER" "ACCEPT" "BIND" "CONNECT" "GETPEERNAME" "GETSOCKNAME" "GETSOCKOPT" "LISTEN" "RECV" "RECVFROM" "RECVMSG" "SEND" "SENDMSG" "SENDTO" "SETSOCKOPT" "SHUTDOWN" "SOCKET" "SOCKETPAIR" "CONFIGDEV" "IPCSUM" "ICMPCSUM" "TCPCSUM" "UDPCSUM")) (IN-PACKAGE "RAWSOCK") (PUSHNEW :RAWSOCK *FEATURES*) (PUSH "RAWSOCK" EXT:*SYSTEM-PACKAGE-LIST*) --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |