You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(12) |
Jul
(105) |
Aug
(245) |
Sep
(165) |
Oct
(100) |
Nov
(92) |
Dec
(74) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(179) |
Feb
(233) |
Mar
(175) |
Apr
(168) |
May
(146) |
Jun
(165) |
Jul
(18) |
Aug
(95) |
Sep
(134) |
Oct
(120) |
Nov
(51) |
Dec
(65) |
| 2005 |
Jan
(96) |
Feb
(100) |
Mar
(113) |
Apr
(82) |
May
(281) |
Jun
(168) |
Jul
(54) |
Aug
(72) |
Sep
(104) |
Oct
(182) |
Nov
(126) |
Dec
(133) |
| 2006 |
Jan
(211) |
Feb
(252) |
Mar
(291) |
Apr
(199) |
May
(345) |
Jun
(282) |
Jul
(272) |
Aug
(261) |
Sep
(287) |
Oct
(464) |
Nov
(233) |
Dec
(210) |
| 2007 |
Jan
(669) |
Feb
(304) |
Mar
(483) |
Apr
(150) |
May
(293) |
Jun
(215) |
Jul
(178) |
Aug
(138) |
Sep
(159) |
Oct
(301) |
Nov
(367) |
Dec
(165) |
| 2008 |
Jan
(171) |
Feb
(148) |
Mar
(150) |
Apr
(180) |
May
(112) |
Jun
(109) |
Jul
(196) |
Aug
(319) |
Sep
(294) |
Oct
(284) |
Nov
(399) |
Dec
(280) |
| 2009 |
Jan
(536) |
Feb
(454) |
Mar
(382) |
Apr
(255) |
May
(321) |
Jun
(318) |
Jul
(412) |
Aug
(226) |
Sep
(76) |
Oct
(251) |
Nov
(134) |
Dec
(101) |
| 2010 |
Jan
(262) |
Feb
(210) |
Mar
(219) |
Apr
(55) |
May
(180) |
Jun
(225) |
Jul
(151) |
Aug
(184) |
Sep
(54) |
Oct
(160) |
Nov
(237) |
Dec
(115) |
| 2011 |
Jan
(141) |
Feb
(68) |
Mar
(204) |
Apr
(329) |
May
(68) |
Jun
(34) |
Jul
(304) |
Aug
(206) |
Sep
(183) |
Oct
(121) |
Nov
(1125) |
Dec
(934) |
| 2012 |
Jan
(466) |
Feb
(161) |
Mar
(314) |
Apr
(63) |
May
(62) |
Jun
(53) |
Jul
(47) |
Aug
(41) |
Sep
(36) |
Oct
(108) |
Nov
(297) |
Dec
(73) |
| 2013 |
Jan
(236) |
Feb
(81) |
Mar
(422) |
Apr
(441) |
May
(86) |
Jun
(177) |
Jul
(146) |
Aug
(140) |
Sep
(93) |
Oct
(126) |
Nov
(133) |
Dec
(230) |
| 2014 |
Jan
(380) |
Feb
(233) |
Mar
(251) |
Apr
(214) |
May
(168) |
Jun
(670) |
Jul
(538) |
Aug
(459) |
Sep
(330) |
Oct
(327) |
Nov
(339) |
Dec
(456) |
| 2015 |
Jan
(188) |
Feb
(426) |
Mar
(186) |
Apr
(71) |
May
(151) |
Jun
(283) |
Jul
(208) |
Aug
(477) |
Sep
(148) |
Oct
(302) |
Nov
(297) |
Dec
(331) |
| 2016 |
Jan
(474) |
Feb
(55) |
Mar
(92) |
Apr
(118) |
May
(286) |
Jun
(751) |
Jul
(494) |
Aug
(166) |
Sep
(97) |
Oct
(216) |
Nov
(41) |
Dec
(78) |
| 2017 |
Jan
(148) |
Feb
(205) |
Mar
(112) |
Apr
(119) |
May
(125) |
Jun
(102) |
Jul
(242) |
Aug
(26) |
Sep
(53) |
Oct
(28) |
Nov
(38) |
Dec
(97) |
| 2018 |
Jan
(71) |
Feb
(49) |
Mar
(43) |
Apr
(13) |
May
(19) |
Jun
(44) |
Jul
(74) |
Aug
(30) |
Sep
(44) |
Oct
(57) |
Nov
(74) |
Dec
(34) |
| 2019 |
Jan
(41) |
Feb
(50) |
Mar
(30) |
Apr
(24) |
May
(44) |
Jun
(101) |
Jul
(94) |
Aug
(123) |
Sep
(101) |
Oct
(81) |
Nov
(48) |
Dec
(51) |
| 2020 |
Jan
(74) |
Feb
(81) |
Mar
(129) |
Apr
(310) |
May
(176) |
Jun
(97) |
Jul
(137) |
Aug
(205) |
Sep
(84) |
Oct
(71) |
Nov
(106) |
Dec
(138) |
| 2021 |
Jan
(117) |
Feb
(94) |
Mar
(89) |
Apr
(71) |
May
(98) |
Jun
(99) |
Jul
(67) |
Aug
(129) |
Sep
(108) |
Oct
(127) |
Nov
(115) |
Dec
(114) |
| 2022 |
Jan
(115) |
Feb
(85) |
Mar
(97) |
Apr
(92) |
May
(102) |
Jun
(109) |
Jul
(168) |
Aug
(230) |
Sep
(183) |
Oct
(106) |
Nov
(109) |
Dec
(146) |
| 2023 |
Jan
(186) |
Feb
(126) |
Mar
(99) |
Apr
(92) |
May
(158) |
Jun
(74) |
Jul
(113) |
Aug
(93) |
Sep
(84) |
Oct
(163) |
Nov
(72) |
Dec
(81) |
| 2024 |
Jan
(71) |
Feb
(85) |
Mar
(63) |
Apr
(50) |
May
(45) |
Jun
(28) |
Jul
(106) |
Aug
(45) |
Sep
(60) |
Oct
(44) |
Nov
(53) |
Dec
(28) |
| 2025 |
Jan
(87) |
Feb
(58) |
Mar
(71) |
Apr
(37) |
May
(37) |
Jun
(46) |
Jul
(74) |
Aug
(26) |
Sep
(55) |
Oct
(43) |
Nov
(58) |
Dec
(34) |
| 2026 |
Jan
(106) |
Feb
(61) |
Mar
(48) |
Apr
(82) |
May
(78) |
Jun
(100) |
Jul
(96) |
Aug
(170) |
Sep
(13) |
Oct
|
Nov
|
Dec
|
|
From: <jmk...@us...> - 2003-08-10 21:13:07
|
Update of /cvsroot/emc/rtapi/src/rtapi In directory sc8-pr-cvs1:/tmp/cvs-serv11923/src/rtapi Modified Files: rtai_rtapi.c rtai_ulapi.c rtapi.h rtl_rtapi.c rtl_ulapi.c ulapi.h Log Message: misc changes, work in progress Index: rtai_rtapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_rtapi.c,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** rtai_rtapi.c 9 Aug 2003 21:44:53 -0000 1.15 --- rtai_rtapi.c 10 Aug 2003 21:13:04 -0000 1.16 *************** *** 1,7 **** ! /* ! rtai_rtapi.c - Implementations of RT API functions declared in rtapi.h, for RTAI - */ #include <stdarg.h> /* va_* */ --- 1,42 ---- ! /** RTAPI is a library providing a uniform API for several real time * ! * operating systems. As of ver 2.0, RTLinux and RTAI are supported. */ ! ! /** This file, 'rtai_rtapi.c', implements the realtime portion of the * ! * API for the RTAI platform. The realtime API is defined in rtapi.h, * ! * which includes documentation for the API functions. The non-real- * ! * time portion of the API is defined in ulapi.h and implemented in * ! * rtai_ulapi.c (for the RTAI platform). */ ! ! /** Copyright (C) 2003 John Kasunich * ! * <jmkasunich AT users DOT sourceforge DOT net> * ! * Copyright (C) 2003 Paul Corner * ! * <paul_c AT users DOT sourceforge DOT net> * ! * This library is based on version 1.0, which was released into * ! * the public domain by its author, Fred Proctor. Thanks Fred! */ ! ! /* This library is free software; you can redistribute it and/or * ! * modify it under the terms of version 2 of the GNU General Public * ! * License as published by the Free Software Foundation. * ! * This library is distributed in the hope that it will be useful, but * ! * WITHOUT ANY WARRANTY; without even the implied warranty of * ! * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * ! * General Public License for more details. * ! * * ! * You should have received a copy of the GNU General Public License * ! * along with this library; if not, write to the Free Software * ! * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ ! ! /** THE AUTHORS OF THIS LIBRARY ACCEPT ABSOLUTELY NO LIABILITY FOR * ! * ANY HARM OR LOSS RESULTING FROM ITS USE. IT IS _EXTREMELY_ UNWISE * ! * TO RELY ON SOFTWARE ALONE FOR SAFETY. Any machinery capable of * ! * harming persons must have provisions for completely removing power * ! * from all motors, etc, before persons enter any danger area. All * ! * machinery must be designed to comply with local and national safety * ! * codes, and the authors of this software can not, and do not, take * ! * any responsibility for such compliance. */ ! ! /** This code was written as part of the EMC HAL project. For more * ! * information, go to www.linuxcnc.org. */ #include <stdarg.h> /* va_* */ *************** *** 27,30 **** --- 62,69 ---- #endif + #ifdef MODULE_LICENSE + MODULE_LICENSE("GPL"); + #endif + /* declare vsprintf() explicitly instead of including all of <stdio.h>, since we don't need all of it and it may cause problems */ *************** *** 69,72 **** --- 108,112 ---- /* Usage counters to keep track of new/delete calls */ + static int rtapi_usage_count = 0; static int task_usage_count = 0; static int shmem_usage_count = 0; *************** *** 74,84 **** static int fifo_usage_count = 0; static int int_usage_count = 0; ! static unsigned int timer_period = 0; /* Flag used to keep track of timer state */ static int timer_running = 0; ! int debug = 1; ! MODULE_PARM(debug, "i"); ! MODULE_PARM_DESC(debug, "Sets the verbosity of the debug prints"); /* Internal function for the proc_fs system. */ --- 114,127 ---- static int fifo_usage_count = 0; static int int_usage_count = 0; ! static int timer_period = 0; /* Flag used to keep track of timer state */ static int timer_running = 0; ! int rtapi_msg_level; /* global used for message printing */ ! ! static int msg; /* short name, for use in insmod command */ ! MODULE_PARM(msg, "i"); ! MODULE_PARM_DESC(msg, "Verbosity, higher value = more messages (default=7)"); ! /* Internal function for the proc_fs system. */ *************** *** 90,93 **** --- 133,137 ---- PROC_PRINT("******* RTAI rtapi usage *******\n"); PROC_PRINT(" Version = $Revision$\n"); + PROC_PRINT(" Modules Loaded = %i\n", rtapi_usage_count); PROC_PRINT(" Tasks running = %i\n", task_usage_count); PROC_PRINT(" Shared memory = %i\n", shmem_usage_count); *************** *** 95,99 **** PROC_PRINT(" Semaphores used = %i\n", sem_usage_count); PROC_PRINT("Active Interrupts = %i\n", int_usage_count); ! PROC_PRINT(" Timer period = %inSec\n", timer_period); PROC_PRINT(" Timer status = %i\n", timer_running); PROC_PRINT("\n"); --- 139,143 ---- PROC_PRINT(" Semaphores used = %i\n", sem_usage_count); PROC_PRINT("Active Interrupts = %i\n", int_usage_count); ! PROC_PRINT(" Timer period = %i nSec\n", timer_period); PROC_PRINT(" Timer status = %i\n", timer_running); PROC_PRINT("\n"); *************** *** 102,151 **** #endif ! /* Priority functions. RTAI uses 0 as the highest priority, as the ! number increases, the actual priority of the task decreases. */ ! ! int rtapi_prio_highest(void) ! { ! return 0; ! } ! ! int rtapi_prio_lowest(void) { ! return RT_LOWEST_PRIORITY; } ! ! int rtapi_prio_next_higher(int prio) { ! /* return a valid priority for out of range arg */ ! if (prio <= rtapi_prio_highest()) { ! return rtapi_prio_highest(); ! } ! if (prio > rtapi_prio_lowest()) { ! return rtapi_prio_lowest(); ! } ! ! /* return next higher priority for in-range arg */ ! return prio - 1; } ! int rtapi_prio_next_lower(int prio) { ! /* return a valid priority for out of range arg */ ! if (prio >= rtapi_prio_lowest()) { ! return rtapi_prio_lowest(); ! } ! if (prio < rtapi_prio_highest()) { ! return rtapi_prio_highest(); ! } ! /* return next lower priority for in-range arg */ ! return prio + 1; ! } ! - static int rtapi_init(void) - { /* register a proc entry */ #ifdef CONFIG_PROC_FS --- 146,173 ---- #endif ! /* For RTAI, all init is done when the rtapi kernel module ! is insmoded. The rtapi_init() and rtapi_exit() functions ! do nothing. For other RTOSes, things might be different, ! especially if the RTOS does not use modules. */ ! int rtapi_init (void) { ! rtapi_usage_count++; ! return RTAPI_SUCCESS; } ! int rtapi_exit (void) { ! rtapi_usage_count--; ! return RTAPI_SUCCESS; } + /* here is where the real init happens */ ! int init_module(void) { ! /* get the message level from insmod command line */ ! rtapi_msg_level = msg; /* register a proc entry */ #ifdef CONFIG_PROC_FS *************** *** 169,173 **** ! static int rtapi_exit(void) { /* Remove proc dir entry */ --- 191,195 ---- ! void cleanup_module (void) { /* Remove proc dir entry */ *************** *** 209,220 **** ! int init_module(void) { ! return (rtapi_init()); } ! void cleanup_module(void) { ! rtapi_exit(); } --- 231,280 ---- ! ! ! ! ! ! /* Priority functions. RTAI uses 0 as the highest priority, as the ! number increases, the actual priority of the task decreases. */ ! ! int rtapi_prio_highest(void) { ! return 0; } ! ! int rtapi_prio_lowest(void) { ! return RT_LOWEST_PRIORITY; ! } ! ! ! int rtapi_prio_next_higher(int prio) ! { ! /* return a valid priority for out of range arg */ ! if (prio <= rtapi_prio_highest()) { ! return rtapi_prio_highest(); ! } ! if (prio > rtapi_prio_lowest()) { ! return rtapi_prio_lowest(); ! } ! ! /* return next higher priority for in-range arg */ ! return prio - 1; ! } ! ! ! int rtapi_prio_next_lower(int prio) ! { ! /* return a valid priority for out of range arg */ ! if (prio >= rtapi_prio_lowest()) { ! return rtapi_prio_lowest(); ! } ! if (prio < rtapi_prio_highest()) { ! return rtapi_prio_highest(); ! } ! /* return next lower priority for in-range arg */ ! return prio + 1; } *************** *** 236,243 **** rtapi_print_dbg(VERBOSE, ! "RTAPI: clock_set_period ( %ld ) - Actual = %inSec\n", nsecs, timer_period); ! return RTAPI_SUCCESS; } --- 296,303 ---- rtapi_print_dbg(VERBOSE, ! "RTAPI: clock_set_period ( %ld ) - Actual = %i nSec\n", nsecs, timer_period); ! return timer_period; } *************** *** 415,440 **** to suspend(). */ retval = rt_task_resume(&(task->ostask)); - if (retval != 0) { - return RTAPI_FAIL; - } - return RTAPI_SUCCESS; - } - - - int rtapi_task_set_period(rtapi_task_handle task, - unsigned long int period_nsec) - { - int retval; - - /* validate task handle */ - if (task == NULL) { - return RTAPI_BADH; - } - if (task->magic != TASK_MAGIC) { - return RTAPI_BADH; - } - - retval = rt_task_make_periodic(&(task->ostask), rt_get_time(), - nano2count((RTIME) period_nsec)); if (retval != 0) { return RTAPI_FAIL; --- 475,478 ---- Index: rtai_ulapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_ulapi.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rtai_ulapi.c 10 Aug 2003 12:07:05 -0000 1.4 --- rtai_ulapi.c 10 Aug 2003 21:13:04 -0000 1.5 *************** *** 1,7 **** ! /* ! rtai_ulapi.c - Implementation of user-level API to RTAI modules - */ #include <stdio.h> /* sprintf() */ #include <stddef.h> /* NULL, needed for rtai_shm.h */ --- 1,43 ---- ! /** RTAPI is a library providing a uniform API for several real time * ! * operating systems. As of ver 2.0, RTLinux and RTAI are supported. */ ! ! /** This file, 'rtai_ulapi.c', implements the non-realtime portion of * ! * the API for the RTAI platform. The non-realtime API is defined in * ! * ulapi.h, which includes documentation for the API functions. The * ! * realtime portion of the API is defined in rtapi.h and implemented * ! * in rtai_rtapi.c (for the RTAI platform). */ ! ! /** Copyright (C) 2003 John Kasunich * ! * <jmkasunich AT users DOT sourceforge DOT net> * ! * Copyright (C) 2003 Paul Corner * ! * <paul_c AT users DOT sourceforge DOT net> * ! * This library is based on version 1.0, which was released into * ! * the public domain by its author, Fred Proctor. Thanks Fred! */ ! ! /* This library is free software; you can redistribute it and/or * ! * modify it under the terms of version 2.1 of the GNU Lesser General * ! * Public License as published by the Free Software Foundation. * ! * This library is distributed in the hope that it will be useful, but * ! * WITHOUT ANY WARRANTY; without even the implied warranty of * ! * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * ! * Lesser General Public License for more details. * ! * * ! * You should have received a copy of the GNU General Lesser Public * ! * License along with this library; if not, write to the Free Software * ! * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ ! ! /** THE AUTHORS OF THIS LIBRARY ACCEPT ABSOLUTELY NO LIABILITY FOR * ! * ANY HARM OR LOSS RESULTING FROM ITS USE. IT IS _EXTREMELY_ UNWISE * ! * TO RELY ON SOFTWARE ALONE FOR SAFETY. Any machinery capable of * ! * harming persons must have provisions for completely removing power * ! * from all motors, etc, before persons enter any danger area. All * ! * machinery must be designed to comply with local and national safety * ! * codes, and the authors of this software can not, and do not, take * ! * any responsibility for such compliance. */ ! ! /** This code was written as part of the EMC HAL project. For more * ! * information, go to www.linuxcnc.org. */ ! #include <stdio.h> /* sprintf() */ #include <stddef.h> /* NULL, needed for rtai_shm.h */ *************** *** 230,234 **** } ! /* get whatever data is available */ retval = write(fifo->fd, buf, size); if (retval < 0) { --- 266,270 ---- } ! /* put whatever data will fit */ retval = write(fifo->fd, buf, size); if (retval < 0) { Index: rtapi.h =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtapi.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** rtapi.h 9 Aug 2003 19:43:09 -0000 1.13 --- rtapi.h 10 Aug 2003 21:13:04 -0000 1.14 *************** *** 2,5 **** --- 2,45 ---- #define RTAPI_H + /** RTAPI is a library providing a uniform API for several real time * + * operating systems. As of ver 2.0, RTLinux and RTAI are supported. */ + + /** This file, 'rtapi.h', defines the API as seen by realtime tasks. * + * The non-realtime version of the API is defined in 'ulapi.h'. The * + * realtime interface is implemented in files named 'xxx_rtapi.c', * + * where xxx is the RTOS. Likewise, the non-realtime interface is * + * implemented in files named 'xxx_ulapi.c' */ + + /** Copyright (C) 2003 John Kasunich * + * <jmkasunich AT users DOT sourceforge DOT net> * + * Copyright (C) 2003 Paul Corner * + * <paul_c AT users DOT sourceforge DOT net> * + * This library is based on version 1.0, which was released into * + * the public domain by its author, Fred Proctor. Thanks Fred! */ + + /* This library is free software; you can redistribute it and/or * + * modify it under the terms of version 2.1 of the GNU Lesser General * + * Public License as published by the Free Software Foundation. * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ + + /** THE AUTHORS OF THIS LIBRARY ACCEPT ABSOLUTELY NO LIABILITY FOR * + * ANY HARM OR LOSS RESULTING FROM ITS USE. IT IS _EXTREMELY_ UNWISE * + * TO RELY ON SOFTWARE ALONE FOR SAFETY. Any machinery capable of * + * harming persons must have provisions for completely removing power * + * from all motors, etc, before persons enter any danger area. All * + * machinery must be designed to comply with local and national safety * + * codes, and the authors of this software can not, and do not, take * + * any responsibility for such compliance. */ + + /** This code was written as part of the EMC HAL project. For more * + * information, go to www.linuxcnc.org. */ + /** These status codes are returned by many RTAPI functions. */ *************** *** 13,24 **** #define RTAPI_NOTFND -7 /* object not found */ #define RTAPI_FAIL -8 /* operation failed */ ! /* flags for the rtapi_task_start() call */ ! #define RTAPI_NO_FP 0 ! #define RTAPI_USES_FP 1 /** Typedefs for object handles. The structs to which these handles * * refer are private, and may vary from one RTOS to another. * - * In fact, don't even count on handles always being pointers. */ --- 53,62 ---- #define RTAPI_NOTFND -7 /* object not found */ #define RTAPI_FAIL -8 /* operation failed */ + #define RTAPI_LATE -9 /* task could not start when requested */ ! /* NOTE: RTAPI assumes that ints are at least 32 bits long */ /** Typedefs for object handles. The structs to which these handles * * refer are private, and may vary from one RTOS to another. * * In fact, don't even count on handles always being pointers. */ *************** *** 29,48 **** ! /** 'rtapi_init() sets up the RTAPI. It must be called before calling * ! * any rtapi functions. Returns a status code, as defined above. */ ! /* extern int rtapi_init( void ); */ - /** 'ulapi_exit()' shuts down and cleans up the user space interface * - * to the RTAPI. It must be called before program exit. Returns a * - * status code. */ ! /* extern int rtapi_exit( void ); */ ! /** The mapping of actual priority to priority number depends on the * ! * RTOS. The 'rtapi_prio_xxxx()' functions provide a portable way to * ! * determine priority. Priorities range from 'rtapi_prio_lowest()' * * to 'rtapi_prio_highest()', inclusive. To use this API, use one of * * two methods: * --- 67,124 ---- ! /*********************************************************************** ! * GENERAL PURPOSE FUNCTIONS * ! ************************************************************************/ ! /** 'rtapi_init() sets up the RTAPI. It must be called by any module * ! * that intends to use the API, before any other RTAPI calls. Returns a * ! * status code, as defined above. Increments a usage count. */ + extern int rtapi_init(void); ! /** 'rtapi_exit()' shuts down and cleans up the RTAPI. It must be * ! * called prior to exit by any module that called rtapi_init. Returns * ! * a status code. Decrements the usage count maintined by rtapi_init. */ + extern int rtapi_exit(void); ! ! /** 'rtapi_print()' prints a printf style message. Depending on the * ! * RTOS, the message may be printed to stdout, or to the kernel message * ! * log, etc. The calling syntax and format string is similar to printf * ! * except that floating point and longlongs may not be supported. For * ! * some RTOS's, a 256 byte buffer is used, so the format line and * ! * arguments should not produce a line more than 255 bytes long. Does * ! * not block, but can take a fairly long time, depending on the format * ! * string and OS. */ ! ! extern void rtapi_print(const char *fmt, ...); ! ! ! /** 'rtapi_print_dbg()' prints debug messages. Works like rtapi_print * ! * but only prints if 'level' is less than 'rtapi_msg_level'. * ! * 'rtapi_msg_level' is a global. The default is 7, but it may be * ! * changed. The rtapi uses the same levels for its own messages. * ! * The defines below are used for rtapi messages, and recommended for * ! * user messages as well. */ ! ! extern int rtapi_msg_level; ! ! #define RTAPI_MSG_ERR 3 ! #define RTAPI_MSG_WARN 4 ! #define RTAPI_MSG_INFO 6 ! #define RTAPI_MSG_DBG 7 ! ! extern void rtapi_print_msg(int level, const char *fmt, ...); ! ! ! /*********************************************************************** ! * TASK RELATED FUNCTIONS * ! ************************************************************************/ ! ! /** The 'rtapi_prio_xxxx()' functions provide a portable way to set * ! * task priority. The mapping of actual priority to priority number * ! * depends on the RTOS. Priorities range from 'rtapi_prio_lowest()' * * to 'rtapi_prio_highest()', inclusive. To use this API, use one of * * two methods: * *************** *** 65,83 **** * All task periods, whether specified when starting the task, or * * changed later, will be rounded to an integer multiple of the * ! * period set by 'rtapi_clock_set_period()'. Note that there is only * ! * one hardware clock in the PC, and this call stops and resets it. * ! * So this function only needs to be called once, even if there are * ! * multiple realtime tasks in multiple kernel modules. Calling this * * function after realtime tasks have been started may disrupt the * ! * tasks. Returns a status code. The upper limit for the timer period * ! * may be as low as 0.01 seconds, so be sure to check for errors. */ extern int rtapi_clock_set_period(unsigned long int nsecs); ! /** rtapi_get_time returns the time in nano seconds since the timer * ! * started. Returns an integer value as a 2^63 value. */ extern long long int rtapi_get_time(void); /** 'rtapi_task_new()' is the first step in creating a task. Allocs * * and initializes internal rtapi and rtos data related to the task. * --- 141,168 ---- * All task periods, whether specified when starting the task, or * * changed later, will be rounded to an integer multiple of the * ! * period set by 'rtapi_clock_set_period()'. Note that there may be * ! * only one hardware clock in the system, and this call may stop and * ! * resets it. So this function only needs to be called once, even if * ! * there are multiple realtime tasks in multiple modules. Calling this * * function after realtime tasks have been started may disrupt the * ! * tasks. If the call fails, it returns a negative status code. On * ! * success, it either returns 0, or (if the RTOS supports it), the * ! * actual period, which may not be exactly what was requested. The * ! * upper and lower limits for the timer period are RTOS dependent, so * ! * be sure to check for errors. */ extern int rtapi_clock_set_period(unsigned long int nsecs); ! ! /** rtapi_get_time returns the current time in nanoseconds. Depending * ! * on the RTOS, this may be time since boot, or time since the clock * ! * period was set, or some other time. Its absolute value means * ! * nothing, but it is monotonically increasing (at least for the first * ! * 200 years or so), and can be used to schedule future events, or to * ! * time the duration of some activity. Returns a 2^63 value. */ extern long long int rtapi_get_time(void); + /** 'rtapi_task_new()' is the first step in creating a task. Allocs * * and initializes internal rtapi and rtos data related to the task. * *************** *** 107,113 **** * priority functions above. * * 'stacksize' is the amount of stack to be reserved for the task - be * ! * generous, hardware interrupts may use the same stack. 'period_nsec' * ! * is the task period in nanoseconds, which will be rounded to the * ! * nearest multiple of the global clock period. * * If non-zero, 'uses_fp' tells the OS that the task uses floating * * point so it can save the FPU registers on a task switch. Failing * --- 192,213 ---- * priority functions above. * * 'stacksize' is the amount of stack to be reserved for the task - be * ! * generous, hardware interrupts may use the same stack. * ! * 'period_nsec' is the task period in nanoseconds, which will be * ! * rounded to the nearest multiple of the global clock period. If * ! * 'period_nsec' is zero, the task is non-periodic. It will be started * ! * immediately (does not use 'when'), and run until it returns, pauses, * ! * or makes a blocking call. * ! * 'when' is the desired start time for the task. If zero, the task * ! * will start immediately. Otherwise, the task will be scheduled to * ! * start at the appropriate time. If the RTOS doesn't support starting * ! * tasks at a specific time, it will return RTAPI_UNSUP and the task * ! * will not be started. Otherwise, the task will be scheduled to start * ! * at the desired time. If the desired time has already passed, the * ! * function will return RTAPI_LATE, and the task start time is unknown. * ! * Be advised that some RTOSs may execute the task once as soon as it * ! * is scheduled, even if it is not to start until some time in the * ! * future. Tasks should use flags or another mechanism to prevent them * ! * from doing anything prematurely. 'when' uses time as returned by * ! * rtapi_get_time(). * * If non-zero, 'uses_fp' tells the OS that the task uses floating * * point so it can save the FPU registers on a task switch. Failing * *************** *** 118,126 **** * (preferred) or within a realtime task. May block. */ ! /* FIXME - Fred, you have code in the implementations of this function ! that takes special action when 'period_nsec' is zero. What did you have ! in mind with that? Non-periodic tasks that simply run until they either ! return, pause, wait, or block? ! */ extern int rtapi_task_start(rtapi_task_handle task, --- 218,223 ---- * (preferred) or within a realtime task. May block. */ ! #define RTAPI_NO_FP 0 ! #define RTAPI_USES_FP 1 extern int rtapi_task_start(rtapi_task_handle task, *************** *** 129,132 **** --- 226,230 ---- unsigned long int stacksize, unsigned long int period_nsec, + unsigned long long when, unsigned char uses_fp); *************** *** 149,161 **** - /** 'rtapi_task_set_period()' sets the period of a task. The new * - * period is 'period_nsec', rounded to the nearest integer multiple of * - * the global period as set by 'rtapi_clock_set_period()'. Returns a * - * status code. */ - - extern int rtapi_task_set_period(rtapi_task_handle task, - unsigned long int period_nsec); - - /** 'rtapi_wait()' suspends execution of the current task until the * * next period. At the beginning of the next period, execution will * --- 247,250 ---- *************** *** 173,176 **** --- 262,269 ---- + /*********************************************************************** + * SHARED MEMORY RELATED FUNCTIONS * + ************************************************************************/ + /** 'rtapi_shmem_new()' allocates a block of shared memory. 'key' * * identifies the memory block, all modules wishing to access the same * *************** *** 200,259 **** ! /** 'rtapi_print()' prints a printf style message. Depending on the * ! * RTOS, the message may be printed to stdout, or to the kernel message * ! * log, etc. The calling syntax and format string is similar to printf * ! * except that floating point may not be supported. For some RTOS's, * ! * a 256 byte buffer is used, so the format line and arguments should * ! * not produce a line more than 255 bytes long. Does not block, but * ! * can take a fairly long time, depending on the format string and OS. */ ! ! extern void rtapi_print(const char *fmt, ...); ! ! ! /** 'rtapi_print_dbg()' prints a printf style message similar to * ! * to rtapi_print. If debug is less than the value used when the rtapi * ! * was loaded, then the message is printed. */ ! ! extern void rtapi_print_dbg(int debug, const char *fmt, ...); ! ! ! /** 'rtapi_outb() writes 'byte' to 'port'. * ! * Note: This function does nothing on the simulated RTOS. */ ! ! extern void rtapi_outb(unsigned char byte, unsigned int port); ! ! ! /** 'rtapi_inb() gets a byte from 'port'. Returns the byte. * ! * Note: This function always returns zero on the simulated RTOS. */ ! ! extern unsigned char rtapi_inb(unsigned int port); ! ! ! /** 'rtapi_assign_interrupt_handler()' is used to set up a handler for * ! * a hardware interrupt. 'irq' is the interrupt number, and 'handler' * ! * is a pointer to a function taking no arguements and returning void. * ! * 'handler will be called when the interrupt occurs. Returns a status * ! * code. Note: The simulated RTOS does not support interrupts. */ ! ! extern int rtapi_assign_interrupt_handler(unsigned int irq, ! void (*handler) (void)); ! ! ! /** 'rtapi_free_interrupt_handler()' removes an interrupt handler that * ! * was previously installed by rtapi_assign_interrupt_handler(). 'irq' * ! * is the interrupt number. Removing a realtime module without freeing * ! * any handlers it has installed will almost certainly crash the box. * ! * Returns RTAPI_SUCCESS or RTAPI_INVAL. */ ! ! extern int rtapi_free_interrupt_handler(unsigned int irq); ! ! ! /** 'rtapi_enable_interrupt()' and 'rtapi_disable_interrupt()' are * ! * are used to enable and disable interrupts, presumably ones that have * ! * handlers assigned to them. Returns a status code. */ ! ! extern int rtapi_enable_interrupt(unsigned int irq); ! extern int rtapi_disable_interrupt(unsigned int irq); ! /** 'rtapi_sem_new()' creates a realtime semaphore. On success, * --- 293,299 ---- ! /*********************************************************************** ! * SEMAPHORE RELATED FUNCTIONS * ! ************************************************************************/ /** 'rtapi_sem_new()' creates a realtime semaphore. On success, * *************** *** 296,299 **** --- 336,343 ---- + /*********************************************************************** + * FIFO RELATED FUNCTIONS * + ************************************************************************/ + /** 'rtapi_fifo_new()' creates a realtime fifo. 'key' identifies the * * fifo, all modules wishing to access the same fifo must use the same * *************** *** 332,335 **** --- 376,425 ---- char *buf, unsigned long int size); + + /*********************************************************************** + * INTERRUPT RELATED FUNCTIONS * + ************************************************************************/ + + /** 'rtapi_assign_interrupt_handler()' is used to set up a handler for * + * a hardware interrupt. 'irq' is the interrupt number, and 'handler' * + * is a pointer to a function taking no arguements and returning void. * + * 'handler will be called when the interrupt occurs. Returns a status * + * code. Note: The simulated RTOS does not support interrupts. */ + + extern int rtapi_assign_interrupt_handler(unsigned int irq, + void (*handler) (void)); + + + /** 'rtapi_free_interrupt_handler()' removes an interrupt handler that * + * was previously installed by rtapi_assign_interrupt_handler(). 'irq' * + * is the interrupt number. Removing a realtime module without freeing * + * any handlers it has installed will almost certainly crash the box. * + * Returns RTAPI_SUCCESS or RTAPI_INVAL. */ + + extern int rtapi_free_interrupt_handler(unsigned int irq); + + + /** 'rtapi_enable_interrupt()' and 'rtapi_disable_interrupt()' are * + * are used to enable and disable interrupts, presumably ones that have * + * handlers assigned to them. Returns a status code. */ + + extern int rtapi_enable_interrupt(unsigned int irq); + extern int rtapi_disable_interrupt(unsigned int irq); + + + /*********************************************************************** + * I/O RELATED FUNCTIONS * + ************************************************************************/ + + /** 'rtapi_outb() writes 'byte' to 'port'. * + * Note: This function does nothing on the simulated RTOS. */ + + extern void rtapi_outb(unsigned char byte, unsigned int port); + + + /** 'rtapi_inb() gets a byte from 'port'. Returns the byte. * + * Note: This function always returns zero on the simulated RTOS. */ + + extern unsigned char rtapi_inb(unsigned int port); #endif /* RTAPI_H */ Index: rtl_rtapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtl_rtapi.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rtl_rtapi.c 9 Aug 2003 19:43:09 -0000 1.4 --- rtl_rtapi.c 10 Aug 2003 21:13:04 -0000 1.5 *************** *** 5,8 **** --- 5,21 ---- */ + /* This code is hereby released into the public domain. */ + /* NO GUARANTEE OF ANY KIND IS PROVIDED. THE CREATERS OF THIS */ + /* CODE ACCEPT ABSOLUTELY NO LIABILITY FOR ANY HARM OR LOSSES */ + /* RESULTING FROM ITS USE. IT IS _EXTREMELY_ UNWISE TO RELY ON */ + /* SOFTWARE ALONE FOR SAFETY. Any machinery capable of harming */ + /* persons should have provisions for positively removing power */ + /* from all motors, etc, before persons enter any danger area. */ + + /* This code was written as part of the EMC project. For more */ + /* information, go to www.linuxcnc.org. */ + + /* Authors: Fred Proctor, John Kasunich, Paul Corner */ + #include <stdarg.h> /* va_* */ #include <linux/module.h> *************** *** 33,36 **** --- 46,54 ---- #endif + #ifdef MODULE_LICENSE + MODULE_LICENSE("GPL and additional rights"); + /* The additional rights are you can do anything you want. */ + #endif + /* declare vsprintf() explicitly instead of including all of <stdio.h>, since we don't need all of it and it may cause problems */ *************** *** 210,215 **** of a task are corrupted, such that you can ask for a 1 second task, and instead get one that runs every 0.01 sec, with no ! error codes or other way of detecting it. Stupid! To avoid ! this we only allow a timer period of 0.01 seconds or less. Note that you can still run tasks at slower rates, but the timer must run at least 100Hz. */ --- 228,233 ---- of a task are corrupted, such that you can ask for a 1 second task, and instead get one that runs every 0.01 sec, with no ! error codes or other way of detecting it. To avoid this ! we only allow a timer period of 0.01 seconds or less. Note that you can still run tasks at slower rates, but the timer must run at least 100Hz. */ *************** *** 472,497 **** } retval = pthread_wakeup_np(task->ostask); - if (retval != 0) { - return RTAPI_FAIL; - } - return RTAPI_SUCCESS; - } - - - int rtapi_task_set_period(rtapi_task_handle task, - unsigned long int period_nsec) - { - int retval; - - /* validate task handle */ - if (task == NULL) { - return RTAPI_BADH; - } - if (task->magic != TASK_MAGIC) { - return RTAPI_BADH; - } - - retval = pthread_make_periodic_np(*((pthread_t *) task), - gethrtime() + period_nsec, period_nsec); if (retval != 0) { return RTAPI_FAIL; --- 490,493 ---- Index: rtl_ulapi.c =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/rtl_ulapi.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rtl_ulapi.c 9 Aug 2003 19:43:09 -0000 1.4 --- rtl_ulapi.c 10 Aug 2003 21:13:04 -0000 1.5 *************** *** 4,7 **** --- 4,22 ---- Implementation of user-level API to RTL modules */ + + /* This code is hereby released into the public domain. */ + /* NO GUARANTEE OF ANY KIND IS PROVIDED. THE CREATERS OF THIS */ + /* CODE ACCEPT ABSOLUTELY NO LIABILITY FOR ANY HARM OR LOSSES */ + /* RESULTING FROM ITS USE. IT IS _EXTREMELY_ UNWISE TO RELY ON */ + /* SOFTWARE ALONE FOR SAFETY. Any machinery capable of harming */ + /* persons should have provisions for positively removing power */ + /* from all motors, etc, before persons enter any danger area. */ + + /* This code was written as part of the EMC project. For more */ + /* information, go to www.linuxcnc.org. */ + + /* Authors: Fred Proctor, John Kasunich, Paul Corner */ + + #include <stdio.h> /* sprintf() */ #include <stddef.h> /* size_t, needed by mbuff.h */ *************** *** 255,259 **** /* get whatever data is available */ retval = read(fifo->fd, buf, size); ! if (retval < 0) { return ULAPI_FAIL; } --- 270,274 ---- /* get whatever data is available */ retval = read(fifo->fd, buf, size); ! if (retval <= 0) { return ULAPI_FAIL; } *************** *** 278,282 **** } ! /* get whatever data is available */ retval = write(fifo->fd, buf, size); if (retval < 0) { --- 293,297 ---- } ! /* put whatever data will fit */ retval = write(fifo->fd, buf, size); if (retval < 0) { Index: ulapi.h =================================================================== RCS file: /cvsroot/emc/rtapi/src/rtapi/ulapi.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ulapi.h 9 Aug 2003 19:43:09 -0000 1.6 --- ulapi.h 10 Aug 2003 21:13:04 -0000 1.7 *************** *** 2,5 **** --- 2,45 ---- #define ULAPI_H + /** RTAPI is a library providing a uniform API for several real time * + * operating systems. As of ver 2.0, RTLinux and RTAI are supported. */ + + /** This file, 'ulapi.h', defines the API as seen by non-realtime * + * programs running in user space. The realtime version of the API is * + * defined in 'rtapi.h'. The non-realtime interface is implemented in * + * files named 'xxx_ulapi.c', where xxx is the RTOS. Likewise, the * + * realtime interface is implemented in files named 'xxx_rtapi.c' */ + + /** Copyright (C) 2003 John Kasunich * + * <jmkasunich AT users DOT sourceforge DOT net> * + * Copyright (C) 2003 Paul Corner * + * <paul_c AT users DOT sourceforge DOT net> * + * This library is based on version 1.0, which was released into * + * the public domain by its author, Fred Proctor. Thanks Fred! */ + + /* This library is free software; you can redistribute it and/or * + * modify it under the terms of version 2.1 of the GNU Lesser General * + * Public License as published by the Free Software Foundation. * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA */ + + /** THE AUTHORS OF THIS LIBRARY ACCEPT ABSOLUTELY NO LIABILITY FOR * + * ANY HARM OR LOSS RESULTING FROM ITS USE. IT IS _EXTREMELY_ UNWISE * + * TO RELY ON SOFTWARE ALONE FOR SAFETY. Any machinery capable of * + * harming persons must have provisions for completely removing power * + * from all motors, etc, before persons enter any danger area. All * + * machinery must be designed to comply with local and national safety * + * codes, and the authors of this software can not, and do not, take * + * any responsibility for such compliance. */ + + /** This code was written as part of the EMC HAL project. For more * + * information, go to www.linuxcnc.org. */ + /** These status codes are returned by many ULAPI functions. */ *************** *** 17,21 **** /** Typedefs for object handles. The structs to which these handles * ! * refer are private, and may vary from one RTOS to another. */ typedef struct ulapi_shmem *ulapi_shmem_handle; --- 57,62 ---- /** Typedefs for object handles. The structs to which these handles * ! * refer are private, and may vary from one RTOS to another. * ! * In fact, don't even count on handles always being pointers. */ typedef struct ulapi_shmem *ulapi_shmem_handle; *************** *** 23,26 **** --- 64,71 ---- + /*********************************************************************** + * GENERAL PURPOSE FUNCTIONS * + ************************************************************************/ + /** 'ulapi_init() sets up the user space interface to the RTAPI. It * * must be called before calling any ulapi functions. Returns a statis * *************** *** 37,40 **** --- 82,89 ---- + /*********************************************************************** + * SHARED MEMORY RELATED FUNCTIONS * + ************************************************************************/ + /** 'ulapi_shmem_new()' allocates a block of shared memory. 'key' * * identifies the memory block, all modules wishing to access the same * *************** *** 61,64 **** --- 110,117 ---- extern int ulapi_shmem_delete(ulapi_shmem_handle shmem); + + /*********************************************************************** + * FIFO RELATED FUNCTIONS * + ************************************************************************/ /** 'ulapi_fifo_new()' opens a fifo for communication with realtime * |
|
From: <jmk...@us...> - 2003-08-10 21:13:07
|
Update of /cvsroot/emc/rtapi/examples/shmem In directory sc8-pr-cvs1:/tmp/cvs-serv11923/examples/shmem Modified Files: Makefile Log Message: misc changes, work in progress Index: Makefile =================================================================== RCS file: /cvsroot/emc/rtapi/examples/shmem/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile 5 Aug 2003 03:51:00 -0000 1.3 --- Makefile 10 Aug 2003 21:13:04 -0000 1.4 *************** *** 50,62 **** # DO NOT DELETE - /home/John/emcdev/rtapi/lib/shmemtask.o: /home/John/emcdev/rtapi/include/rtapi.h - /home/John/emcdev/rtapi/lib/shmemtask.o: /home/John/emcdev/rtapi/include/rtapi_app.h /home/John/emcdev/rtapi/lib/shmemtask.o: common.h - /home/John/emcdev/rtapi/lib/shmemusr.o: /home/John/emcdev/rtapi/include/ulapi.h /home/John/emcdev/rtapi/lib/shmemusr.o: common.h - /home/John/emcdev/rtapi/rtlib/shmemtask.o: /home/John/emcdev/rtapi/include/rtapi.h - /home/John/emcdev/rtapi/rtlib/shmemtask.o: /home/John/emcdev/rtapi/include/rtapi_app.h /home/John/emcdev/rtapi/rtlib/shmemtask.o: common.h - /home/John/emcdev/rtapi/rtlib/shmemusr.o: /home/John/emcdev/rtapi/include/ulapi.h /home/John/emcdev/rtapi/rtlib/shmemusr.o: common.h --- 50,56 ---- |
|
From: <jmk...@us...> - 2003-08-10 21:13:07
|
Update of /cvsroot/emc/rtapi/examples/timertask In directory sc8-pr-cvs1:/tmp/cvs-serv11923/examples/timertask Modified Files: Makefile Log Message: misc changes, work in progress Index: Makefile =================================================================== RCS file: /cvsroot/emc/rtapi/examples/timertask/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile 5 Aug 2003 03:51:00 -0000 1.3 --- Makefile 10 Aug 2003 21:13:04 -0000 1.4 *************** *** 32,36 **** # DO NOT DELETE - - /home/John/emcdev/rtapi/rtlib/timertask.o: /home/John/emcdev/rtapi/include/rtapi.h - /home/John/emcdev/rtapi/rtlib/timertask.o: /home/John/emcdev/rtapi/include/rtapi_app.h --- 32,33 ---- |
|
From: <jmk...@us...> - 2003-08-10 21:13:06
|
Update of /cvsroot/emc/rtapi/examples/fifo
In directory sc8-pr-cvs1:/tmp/cvs-serv11923/examples/fifo
Modified Files:
Makefile fifotask.c
Log Message:
misc changes, work in progress
Index: Makefile
===================================================================
RCS file: /cvsroot/emc/rtapi/examples/fifo/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Makefile 5 Aug 2003 03:51:00 -0000 1.3
--- Makefile 10 Aug 2003 21:13:03 -0000 1.4
***************
*** 50,62 ****
# DO NOT DELETE
- /home/John/emcdev/rtapi/lib/fifotask.o: /home/John/emcdev/rtapi/include/rtapi.h
- /home/John/emcdev/rtapi/lib/fifotask.o: /home/John/emcdev/rtapi/include/rtapi_app.h
/home/John/emcdev/rtapi/lib/fifotask.o: common.h
- /home/John/emcdev/rtapi/lib/fifousr.o: /home/John/emcdev/rtapi/include/ulapi.h
/home/John/emcdev/rtapi/lib/fifousr.o: common.h
- /home/John/emcdev/rtapi/rtlib/fifotask.o: /home/John/emcdev/rtapi/include/rtapi.h
- /home/John/emcdev/rtapi/rtlib/fifotask.o: /home/John/emcdev/rtapi/include/rtapi_app.h
/home/John/emcdev/rtapi/rtlib/fifotask.o: common.h
- /home/John/emcdev/rtapi/rtlib/fifousr.o: /home/John/emcdev/rtapi/include/ulapi.h
/home/John/emcdev/rtapi/rtlib/fifousr.o: common.h
--- 50,56 ----
Index: fifotask.c
===================================================================
RCS file: /cvsroot/emc/rtapi/examples/fifo/fifotask.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** fifotask.c 9 Aug 2003 19:35:28 -0000 1.9
--- fifotask.c 10 Aug 2003 21:13:03 -0000 1.10
***************
*** 15,36 ****
enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */
! static int count = 1;
/* task code, executed each timer interrupt */
void fifo_code(int arg)
{
! int n;
char buffer[FIFO_SIZE + 1] = { '\n' };
while (1) {
! for (n = 0; n < count; n++) {
! buffer[n] = '0' + count;
}
! rtapi_fifo_write(fifo, buffer, count);
! buffer[n] = '\0';
! rtapi_print_dbg(4, "fifotask: wrote '%s'\n", buffer);
count++;
! if (count > 9)
! count = 1;
rtapi_wait();
}
--- 15,48 ----
enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */
! static int count = 0;
! static int len = 0;
! static int total =0;
/* task code, executed each timer interrupt */
void fifo_code(int arg)
{
! int n, tmp;
char buffer[FIFO_SIZE + 1] = { '\n' };
while (1) {
! /* write count to buffer as a 3 digit number */
! tmp = count;
! for ( n = 0 ; n < 3 ; n++ ) {
! buffer[2-n] = '0' + ( tmp % 10 );
! tmp /= 10;
! }
! buffer[3] = ':';
! /* write 'len' digits of 'len' */
! for (n = 0; n < len; n++) {
! buffer[4+n] = '0' + len;
}
! rtapi_fifo_write(fifo, buffer, len+4);
! total += len+4;
! buffer[4+n] = '\0';
! rtapi_print("fifotask: total %d, wrote '%s',\n", total, buffer);
count++;
! len++;
! if (len > 9)
! len = 0;
rtapi_wait();
}
***************
*** 53,59 ****
}
/* set the base timer period */
retval = rtapi_clock_set_period(TIMER_PERIOD_NSEC);
! if (retval != RTAPI_SUCCESS) {
rtapi_print("fifotask init: rtapi_clock_set_period failed with %d\n",
retval);
--- 65,73 ----
}
+ rtapi_print("fifotask: created fifo\n");
+
/* set the base timer period */
retval = rtapi_clock_set_period(TIMER_PERIOD_NSEC);
! if (retval < 0) {
rtapi_print("fifotask init: rtapi_clock_set_period failed with %d\n",
retval);
|
|
From: <jmk...@us...> - 2003-08-10 21:13:06
|
Update of /cvsroot/emc/rtapi/examples/semaphore In directory sc8-pr-cvs1:/tmp/cvs-serv11923/examples/semaphore Modified Files: Makefile Log Message: misc changes, work in progress Index: Makefile =================================================================== RCS file: /cvsroot/emc/rtapi/examples/semaphore/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile 5 Aug 2003 03:51:00 -0000 1.3 --- Makefile 10 Aug 2003 21:13:04 -0000 1.4 *************** *** 43,50 **** # DO NOT DELETE - /home/John/emcdev/rtapi/rtlib/master.o: /home/John/emcdev/rtapi/include/rtapi.h - /home/John/emcdev/rtapi/rtlib/master.o: /home/John/emcdev/rtapi/include/rtapi_app.h /home/John/emcdev/rtapi/rtlib/master.o: common.h - /home/John/emcdev/rtapi/rtlib/slave.o: /home/John/emcdev/rtapi/include/rtapi.h - /home/John/emcdev/rtapi/rtlib/slave.o: /home/John/emcdev/rtapi/include/rtapi_app.h /home/John/emcdev/rtapi/rtlib/slave.o: common.h --- 43,46 ---- |
|
From: <jmk...@us...> - 2003-08-10 21:13:06
|
Update of /cvsroot/emc/rtapi/examples/extint In directory sc8-pr-cvs1:/tmp/cvs-serv11923/examples/extint Modified Files: Makefile Log Message: misc changes, work in progress Index: Makefile =================================================================== RCS file: /cvsroot/emc/rtapi/examples/extint/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile 5 Aug 2003 03:51:00 -0000 1.3 --- Makefile 10 Aug 2003 21:13:03 -0000 1.4 *************** *** 32,36 **** # DO NOT DELETE - - /home/John/emcdev/rtapi/rtlib/extint.o: /home/John/emcdev/rtapi/include/rtapi.h - /home/John/emcdev/rtapi/rtlib/extint.o: /home/John/emcdev/rtapi/include/rtapi_app.h --- 32,33 ---- |
|
From: <wsh...@us...> - 2003-08-10 12:49:50
|
Update of /cvsroot/emc/rcslib
In directory sc8-pr-cvs1:/tmp/cvs-serv31626
Modified Files:
Tag: wps_multiplat_dev_branch
Makefile.am Makefile.in
Log Message:
No more java/ste stuff.
Index: Makefile.am
===================================================================
RCS file: /cvsroot/emc/rcslib/Makefile.am,v
retrieving revision 1.7.2.4
retrieving revision 1.7.2.5
diff -C2 -d -r1.7.2.4 -r1.7.2.5
*** Makefile.am 10 Aug 2003 12:46:19 -0000 1.7.2.4
--- Makefile.am 10 Aug 2003 12:49:47 -0000 1.7.2.5
***************
*** 534,542 ****
src/java/rcsdesign/rcsdesignModuleInfo.java\
src/java/rcsdesign/resizingtrash.java\
- src/java/ste/StateDialog.java\
- src/java/ste/StateInfo.java\
- src/java/ste/StateTableEditor.java\
- src/java/ste/TransitionDialog.java\
- src/java/ste/TransitionInfo.java\
src/java/rcs/update_ver\
src/java/rcs/RCS_VERSION.java.perm\
--- 534,537 ----
***************
*** 559,563 ****
src/java/rcsdesign/MakeFileRunner.java\
src/java/rcsdesign/Makefile\
- src/java/ste/Makefile\
src/node/Makefile\
src/node/Makefile.lib\
--- 554,557 ----
Index: Makefile.in
===================================================================
RCS file: /cvsroot/emc/rcslib/Makefile.in,v
retrieving revision 1.7.2.4
retrieving revision 1.7.2.5
diff -C2 -d -r1.7.2.4 -r1.7.2.5
*** Makefile.in 10 Aug 2003 12:46:19 -0000 1.7.2.4
--- Makefile.in 10 Aug 2003 12:49:47 -0000 1.7.2.5
***************
*** 626,634 ****
src/java/rcsdesign/rcsdesignModuleInfo.java\
src/java/rcsdesign/resizingtrash.java\
- src/java/ste/StateDialog.java\
- src/java/ste/StateInfo.java\
- src/java/ste/StateTableEditor.java\
- src/java/ste/TransitionDialog.java\
- src/java/ste/TransitionInfo.java\
src/java/rcs/update_ver\
src/java/rcs/RCS_VERSION.java.perm\
--- 626,629 ----
***************
*** 651,655 ****
src/java/rcsdesign/MakeFileRunner.java\
src/java/rcsdesign/Makefile\
- src/java/ste/Makefile\
src/node/Makefile\
src/node/Makefile.lib\
--- 646,649 ----
***************
*** 5751,5755 ****
$(am__remove_distdir)
mkdir $(distdir)
! $(mkinstalldirs) $(distdir)/etc $(distdir)/src $(distdir)/src/ce_miss $(distdir)/src/cms $(distdir)/src/java $(distdir)/src/java/diagapplet $(distdir)/src/java/diagapplet/CodeGen $(distdir)/src/java/diagapplet/plotter $(distdir)/src/java/diagapplet/utils $(distdir)/src/java/rcs $(distdir)/src/java/rcs/nml $(distdir)/src/java/rcs/posemath $(distdir)/src/java/rcs/utils $(distdir)/src/java/rcsdesign $(distdir)/src/java/ste $(distdir)/src/node $(distdir)/src/nt_xdr $(distdir)/src/os_intf $(distdir)/src/posemath $(distdir)/src/print $(distdir)/src/stg_clss $(distdir)/src/test
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
--- 5745,5749 ----
$(am__remove_distdir)
mkdir $(distdir)
! $(mkinstalldirs) $(distdir)/etc $(distdir)/src $(distdir)/src/ce_miss $(distdir)/src/cms $(distdir)/src/java $(distdir)/src/java/diagapplet $(distdir)/src/java/diagapplet/CodeGen $(distdir)/src/java/diagapplet/plotter $(distdir)/src/java/diagapplet/utils $(distdir)/src/java/rcs $(distdir)/src/java/rcs/nml $(distdir)/src/java/rcs/posemath $(distdir)/src/java/rcs/utils $(distdir)/src/java/rcsdesign $(distdir)/src/node $(distdir)/src/nt_xdr $(distdir)/src/os_intf $(distdir)/src/posemath $(distdir)/src/print $(distdir)/src/stg_clss $(distdir)/src/test
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
Update of /cvsroot/emc/rcslib/src/java/ste
In directory sc8-pr-cvs1:/tmp/cvs-serv31437
Removed Files:
Tag: wps_multiplat_dev_branch
1332122.gif Makefile StateDialog.java StateInfo.java
StateTableEditor.java TransitionDialog.java
TransitionInfo.java meg144.thm.gif
Log Message:
No mor STE stuff.
--- 1332122.gif DELETED ---
--- Makefile DELETED ---
--- StateDialog.java DELETED ---
--- StateInfo.java DELETED ---
--- StateTableEditor.java DELETED ---
--- TransitionDialog.java DELETED ---
--- TransitionInfo.java DELETED ---
--- meg144.thm.gif DELETED ---
|
|
From: <wsh...@us...> - 2003-08-10 12:46:22
|
Update of /cvsroot/emc/rcslib
In directory sc8-pr-cvs1:/tmp/cvs-serv31146
Modified Files:
Tag: wps_multiplat_dev_branch
Makefile.am Makefile.in
Log Message:
get rid of pcio and pmac stuff
Index: Makefile.am
===================================================================
RCS file: /cvsroot/emc/rcslib/Makefile.am,v
retrieving revision 1.7.2.3
retrieving revision 1.7.2.4
diff -C2 -d -r1.7.2.3 -r1.7.2.4
*** Makefile.am 8 Aug 2003 17:31:01 -0000 1.7.2.3
--- Makefile.am 10 Aug 2003 12:46:19 -0000 1.7.2.4
***************
*** 566,571 ****
src/os_intf/Makefile\
src/os_intf/Makefile.lib\
- src/pcio/Makefile\
- src/pmac/Makefile\
src/posemath/Makefile\
src/posemath/Makefile.lib\
--- 566,569 ----
***************
*** 662,669 ****
src/os_intf/fileops.h\
src/os_intf/inifile.h\
- src/pcio/iodev.h\
- src/pcio/pcio.h\
- src/pcio/pcioDrv.h\
- src/pmac/pmac.h\
src/posemath/mathprnt.h\
src/posemath/posemath.h\
--- 660,663 ----
Index: Makefile.in
===================================================================
RCS file: /cvsroot/emc/rcslib/Makefile.in,v
retrieving revision 1.7.2.3
retrieving revision 1.7.2.4
diff -C2 -d -r1.7.2.3 -r1.7.2.4
*** Makefile.in 8 Aug 2003 17:31:01 -0000 1.7.2.3
--- Makefile.in 10 Aug 2003 12:46:19 -0000 1.7.2.4
***************
*** 658,663 ****
src/os_intf/Makefile\
src/os_intf/Makefile.lib\
- src/pcio/Makefile\
- src/pmac/Makefile\
src/posemath/Makefile\
src/posemath/Makefile.lib\
--- 658,661 ----
***************
*** 755,762 ****
src/os_intf/fileops.h\
src/os_intf/inifile.h\
- src/pcio/iodev.h\
- src/pcio/pcio.h\
- src/pcio/pcioDrv.h\
- src/pmac/pmac.h\
src/posemath/mathprnt.h\
src/posemath/posemath.h\
--- 753,756 ----
***************
*** 5757,5761 ****
$(am__remove_distdir)
mkdir $(distdir)
! $(mkinstalldirs) $(distdir)/etc $(distdir)/src $(distdir)/src/ce_miss $(distdir)/src/cms $(distdir)/src/java $(distdir)/src/java/diagapplet $(distdir)/src/java/diagapplet/CodeGen $(distdir)/src/java/diagapplet/plotter $(distdir)/src/java/diagapplet/utils $(distdir)/src/java/rcs $(distdir)/src/java/rcs/nml $(distdir)/src/java/rcs/posemath $(distdir)/src/java/rcs/utils $(distdir)/src/java/rcsdesign $(distdir)/src/java/ste $(distdir)/src/node $(distdir)/src/nt_xdr $(distdir)/src/os_intf $(distdir)/src/pcio $(distdir)/src/pmac $(distdir)/src/posemath $(distdir)/src/print $(distdir)/src/stg_clss $(distdir)/src/test
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
--- 5751,5755 ----
$(am__remove_distdir)
mkdir $(distdir)
! $(mkinstalldirs) $(distdir)/etc $(distdir)/src $(distdir)/src/ce_miss $(distdir)/src/cms $(distdir)/src/java $(distdir)/src/java/diagapplet $(distdir)/src/java/diagapplet/CodeGen $(distdir)/src/java/diagapplet/plotter $(distdir)/src/java/diagapplet/utils $(distdir)/src/java/rcs $(distdir)/src/java/rcs/nml $(distdir)/src/java/rcs/posemath $(distdir)/src/java/rcs/utils $(distdir)/src/java/rcsdesign $(distdir)/src/java/ste $(distdir)/src/node $(distdir)/src/nt_xdr $(distdir)/src/os_intf $(distdir)/src/posemath $(distdir)/src/print $(distdir)/src/stg_clss $(distdir)/src/test
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
|
From: <wsh...@us...> - 2003-08-10 12:43:30
|
Update of /cvsroot/emc/rcslib/src/pmac
In directory sc8-pr-cvs1:/tmp/cvs-serv30893
Removed Files:
Tag: wps_multiplat_dev_branch
Makefile demobox.pmc dinit.c dpeek.c dpoke.c kt800.pmc
mill.pmc peek.c pmac.cc pmac.h pmacexec.c pmacstat.c poke.c
testprobe.cc
Log Message:
No more PMAC stuff in rcslib
--- Makefile DELETED ---
--- demobox.pmc DELETED ---
--- dinit.c DELETED ---
--- dpeek.c DELETED ---
--- dpoke.c DELETED ---
--- kt800.pmc DELETED ---
--- mill.pmc DELETED ---
--- peek.c DELETED ---
--- pmac.cc DELETED ---
--- pmac.h DELETED ---
--- pmacexec.c DELETED ---
--- pmacstat.c DELETED ---
--- poke.c DELETED ---
--- testprobe.cc DELETED ---
|
|
From: <wsh...@us...> - 2003-08-10 12:42:23
|
Update of /cvsroot/emc/rcslib/src/pcio
In directory sc8-pr-cvs1:/tmp/cvs-serv30690
Removed Files:
Tag: wps_multiplat_dev_branch
Makefile Notes iodev.c iodev.h ioscan.c main.c pcio.cfg pcio.h
pcio.s pcioDrv.c pcioDrv.h pcioSim.cc pciotest.c
Log Message:
pcio has not been used for a long time.
--- Makefile DELETED ---
--- Notes DELETED ---
--- iodev.c DELETED ---
--- iodev.h DELETED ---
--- ioscan.c DELETED ---
--- main.c DELETED ---
--- pcio.cfg DELETED ---
--- pcio.h DELETED ---
--- pcio.s DELETED ---
--- pcioDrv.c DELETED ---
--- pcioDrv.h DELETED ---
--- pcioSim.cc DELETED ---
--- pciotest.c DELETED ---
|
|
From: <pa...@us...> - 2003-08-10 12:07:07
|
Update of /cvsroot/emc/rtapi/src/rtapi
In directory sc8-pr-cvs1:/tmp/cvs-serv26483
Modified Files:
rtai_ulapi.c
Log Message:
rtf reads do not return zero
Index: rtai_ulapi.c
===================================================================
RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_ulapi.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** rtai_ulapi.c 25 Jul 2003 22:04:20 -0000 1.3
--- rtai_ulapi.c 10 Aug 2003 12:07:05 -0000 1.4
***************
*** 207,211 ****
/* get whatever data is available */
retval = read(fifo->fd, buf, size);
! if (retval < 0) {
return ULAPI_FAIL;
}
--- 207,211 ----
/* get whatever data is available */
retval = read(fifo->fd, buf, size);
! if (retval <= 0) {
return ULAPI_FAIL;
}
|
|
From: <pa...@us...> - 2003-08-10 12:06:07
|
Update of /cvsroot/emc/rtapi/examples/fifo
In directory sc8-pr-cvs1:/tmp/cvs-serv26392
Modified Files:
fifousr.c
Log Message:
Oh how silly - retval will allways be 0
Index: fifousr.c
===================================================================
RCS file: /cvsroot/emc/rtapi/examples/fifo/fifousr.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** fifousr.c 27 Jul 2003 16:33:42 -0000 1.4
--- fifousr.c 10 Aug 2003 12:06:05 -0000 1.5
***************
*** 45,49 ****
while (1) {
nchars = ulapi_fifo_read(fifo, buffer, FIFO_SIZE);
! if (retval < 0) {
printf("fifousr main: ulapi_fifo_read returned %d\n", nchars);
} else {
--- 45,49 ----
while (1) {
nchars = ulapi_fifo_read(fifo, buffer, FIFO_SIZE);
! if (nchars <= 0) {
printf("fifousr main: ulapi_fifo_read returned %d\n", nchars);
} else {
|
|
From: <pa...@us...> - 2003-08-09 21:44:56
|
Update of /cvsroot/emc/rtapi/src/rtapi
In directory sc8-pr-cvs1:/tmp/cvs-serv19963
Modified Files:
rtai_rtapi.c
Log Message:
missing count to nano conversion
Index: rtai_rtapi.c
===================================================================
RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_rtapi.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** rtai_rtapi.c 9 Aug 2003 19:43:09 -0000 1.14
--- rtai_rtapi.c 9 Aug 2003 21:44:53 -0000 1.15
***************
*** 233,237 ****
timer_running = 1;
rt_set_periodic_mode();
! timer_period = start_rt_timer(nano2count((RTIME) nsecs));
rtapi_print_dbg(VERBOSE,
--- 233,237 ----
timer_running = 1;
rt_set_periodic_mode();
! timer_period = count2nano(start_rt_timer(nano2count((RTIME) nsecs)));
rtapi_print_dbg(VERBOSE,
|
|
From: <pa...@us...> - 2003-08-09 19:43:13
|
Update of /cvsroot/emc/rtapi/src/rtapi
In directory sc8-pr-cvs1:/tmp/cvs-serv31130
Modified Files:
rtai_rtapi.c rtapi.h rtl_rtapi.c rtl_ulapi.c sim_rtapi.c
sim_ulapi.c ulapi.h
Log Message:
/proc entry added
Index: rtai_rtapi.c
===================================================================
RCS file: /cvsroot/emc/rtapi/src/rtapi/rtai_rtapi.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** rtai_rtapi.c 5 Aug 2003 03:51:00 -0000 1.13
--- rtai_rtapi.c 9 Aug 2003 19:43:09 -0000 1.14
***************
*** 8,16 ****
#include <linux/module.h>
#include <linux/kernel.h>
! #include <linux/slab.h> /* replaces malloc.h in recent kernels */
#include <rtai.h>
#include <rtai_sched.h>
#include <rtai_shm.h>
#include <rtai_fifos.h>
#ifndef KERNEL_VERSION
--- 8,18 ----
#include <linux/module.h>
#include <linux/kernel.h>
! #include <linux/proc_fs.h> /* So we can use the /proc file system */
! #include <linux/slab.h> /* replaces malloc.h in recent kernels */
#include <rtai.h>
#include <rtai_sched.h>
#include <rtai_shm.h>
#include <rtai_fifos.h>
+ #include <rtai_proc_fs.h> /* handy proc_fs print macros */
#ifndef KERNEL_VERSION
***************
*** 72,79 ****
static int fifo_usage_count = 0;
static int int_usage_count = 0;
!
/* Flag used to keep track of timer state */
static int timer_running = 0;
/* Priority functions. RTAI uses 0 as the highest priority, as the
number increases, the actual priority of the task decreases. */
--- 74,105 ----
static int fifo_usage_count = 0;
static int int_usage_count = 0;
! static unsigned int timer_period = 0;
/* Flag used to keep track of timer state */
static int timer_running = 0;
+ int debug = 1;
+ MODULE_PARM(debug, "i");
+ MODULE_PARM_DESC(debug, "Sets the verbosity of the debug prints");
+
+ /* Internal function for the proc_fs system. */
+ #ifdef CONFIG_PROC_FS
+ static int proc_read(char *page, char **start, off_t off,
+ int count, int *eof, void *data)
+ {
+ PROC_PRINT_VARS;
+ PROC_PRINT("******* RTAI rtapi usage *******\n");
+ PROC_PRINT(" Version = $Revision$\n");
+ PROC_PRINT(" Tasks running = %i\n", task_usage_count);
+ PROC_PRINT(" Shared memory = %i\n", shmem_usage_count);
+ PROC_PRINT(" FIFO count = %i\n", fifo_usage_count);
+ PROC_PRINT(" Semaphores used = %i\n", sem_usage_count);
+ PROC_PRINT("Active Interrupts = %i\n", int_usage_count);
+ PROC_PRINT(" Timer period = %inSec\n", timer_period);
+ PROC_PRINT(" Timer status = %i\n", timer_running);
+ PROC_PRINT("\n");
+ PROC_PRINT_DONE;
+ }
+ #endif
+
/* Priority functions. RTAI uses 0 as the highest priority, as the
number increases, the actual priority of the task decreases. */
***************
*** 120,127 ****
-
static int rtapi_init(void)
{
! rtapi_print("RTAPI: Initing\n");
task_usage_count = 0;
shmem_usage_count = 0;
--- 146,161 ----
static int rtapi_init(void)
{
! /* register a proc entry */
! #ifdef CONFIG_PROC_FS
! create_proc_read_entry("rtai/rtapi", /* name */
! 0, /* default mode */
! NULL, /* parent dir */
! proc_read, /* function */
! NULL /* client data */
! );
! #endif
! rtapi_print_dbg(VERBOSE, "RTAPI: Initing\n");
task_usage_count = 0;
shmem_usage_count = 0;
***************
*** 137,157 ****
static int rtapi_exit(void)
{
! if (task_usage_count != 0 ) {
! rtapi_print("RTAPI: ERROR: %d task(s) allocated but not deleted", task_usage_count);
}
! if (shmem_usage_count != 0 ) {
! rtapi_print("RTAPI: ERROR: %d shared memory block(s) allocated but not deleted", shmem_usage_count);
}
! if (sem_usage_count != 0 ) {
! rtapi_print("RTAPI: ERROR: %d semaphores(s) allocated but not deleted", sem_usage_count);
}
! if (fifo_usage_count != 0 ) {
! rtapi_print("RTAPI: ERROR: %d fifo(s) allocated but not deleted", fifo_usage_count);
}
! if (int_usage_count != 0 ) {
! rtapi_print("RTAPI: ERROR: %d interrupt handler(s) installed but not removed", int_usage_count);
}
! if (timer_running != 0 ) {
stop_rt_timer();
}
rtapi_print("RTAPI: Shutting down\n");
--- 171,206 ----
static int rtapi_exit(void)
{
! /* Remove proc dir entry */
! #ifdef CONFIG_PROC_FS
! remove_proc_entry("rtai/rtapi", NULL);
! #endif
! if (task_usage_count != 0) {
! rtapi_print_dbg(VERBOSE,
! "RTAPI: ERROR: %d task(s) allocated but not deleted\n",
! task_usage_count);
}
! if (shmem_usage_count != 0) {
! rtapi_print_dbg(VERBOSE,
! "RTAPI: ERROR: %d shared memory block(s) allocated but not deleted\n",
! shmem_usage_count);
}
! if (sem_usage_count != 0) {
! rtapi_print_dbg(VERBOSE,
! "RTAPI: ERROR: %d semaphores(s) allocated but not deleted\n",
! sem_usage_count);
}
! if (fifo_usage_count != 0) {
! rtapi_print_dbg(VERBOSE,
! "RTAPI: ERROR: %d fifo(s) allocated but not deleted\n",
! fifo_usage_count);
}
! if (int_usage_count != 0) {
! rtapi_print_dbg(VERBOSE,
! "RTAPI: ERROR: %d interrupt handler(s) installed but not removed\n",
! int_usage_count);
}
! if (timer_running != 0) {
stop_rt_timer();
+ rt_free_timer();
}
rtapi_print("RTAPI: Shutting down\n");
***************
*** 175,191 ****
/* limit to a maximum of 1 second (note that RTLinux only
! allows 0.01 second, so for portability, callers should
! always ask for 0.01 second or less */
! if ( nsecs > 1000000000L ) {
return RTAPI_INVAL;
}
- if ( VERBOSE ) {
- rtapi_print ( "RTAPI: clock_set_period ( %ld )\n", nsecs );
- }
timer_running = 1;
rt_set_periodic_mode();
! start_rt_timer(nano2count((RTIME) nsecs));
return RTAPI_SUCCESS;
}
--- 224,242 ----
/* limit to a maximum of 1 second (note that RTLinux only
! allows 0.01 second, so for portability, callers should
! always ask for 0.01 second or less */
! if (nsecs > 1000000000L) {
return RTAPI_INVAL;
}
timer_running = 1;
rt_set_periodic_mode();
! timer_period = start_rt_timer(nano2count((RTIME) nsecs));
!
! rtapi_print_dbg(VERBOSE,
! "RTAPI: clock_set_period ( %ld ) - Actual = %inSec\n",
! nsecs, timer_period);
!
return RTAPI_SUCCESS;
}
***************
*** 219,225 ****
task_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: new_task %p, count = %d\n", task, task_usage_count );
! }
return RTAPI_SUCCESS;
--- 270,275 ----
task_usage_count++;
! rtapi_print_dbg(VERBOSE, "RTAPI: new_task %p, count = %d\n", task,
! task_usage_count);
return RTAPI_SUCCESS;
***************
*** 243,249 ****
task_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: delete_task %p, count = %d\n", task, task_usage_count );
! }
return RTAPI_SUCCESS;
--- 293,298 ----
task_usage_count--;
! rtapi_print_dbg(VERBOSE, "RTAPI: delete_task %p, count = %d\n", task,
! task_usage_count);
return RTAPI_SUCCESS;
***************
*** 301,307 ****
}
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: start_task %p\n", task );
! }
return RTAPI_SUCCESS;
--- 350,354 ----
}
! rtapi_print_dbg(VERBOSE, "RTAPI: start_task %p\n", task);
return RTAPI_SUCCESS;
***************
*** 325,331 ****
return RTAPI_FAIL;
}
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: stop_task %p\n", task );
! }
return RTAPI_SUCCESS;
--- 372,376 ----
return RTAPI_FAIL;
}
! rtapi_print_dbg(VERBOSE, "RTAPI: stop_task %p\n", task);
return RTAPI_SUCCESS;
***************
*** 465,471 ****
shmem_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: new_shmem %p, key = %d, count = %d\n", shmem, key, shmem_usage_count );
! }
return RTAPI_SUCCESS;
--- 510,515 ----
shmem_usage_count++;
! rtapi_print_dbg(VERBOSE, "RTAPI: new_shmem %p, key = %d, count = %d\n",
! shmem, key, shmem_usage_count);
return RTAPI_SUCCESS;
***************
*** 508,514 ****
shmem_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: delete_shmem %p, count = %d\n", shmem, shmem_usage_count );
! }
return RTAPI_SUCCESS;
--- 552,557 ----
shmem_usage_count--;
! rtapi_print_dbg(VERBOSE, "RTAPI: delete_shmem %p, count = %d\n", shmem,
! shmem_usage_count);
return RTAPI_SUCCESS;
***************
*** 532,535 ****
--- 575,592 ----
+ void rtapi_print_dbg(int dbg, const char *fmt, ...)
+ {
+ va_list args;
+ enum { BUFFERLEN = 256 };
+ static char buffer[BUFFERLEN];
+
+ if (dbg < debug) {
+ va_start(args, fmt);
+ vsprintf(buffer, fmt, args);
+ rt_printk(buffer);
+ va_end(args);
+ }
+ }
+
void rtapi_outb(unsigned char byte, unsigned int port)
{
***************
*** 556,566 ****
}
}
/* increment the usage counter */
int_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: assign_interrupt_handler for int %d, count = %d\n", irq, int_usage_count );
! }
return RTAPI_SUCCESS;
--- 613,626 ----
}
}
+ rtapi_print_dbg(VERBOSE,
+ "\n\nRTAPI: assign_interrupt_handler for int %d, count = %d\n",
+ irq, int_usage_count);
/* increment the usage counter */
int_usage_count++;
! rtapi_print_dbg(VERBOSE,
! "RTAPI: assign_interrupt_handler for int %d, count = %d\n",
! irq, int_usage_count);
return RTAPI_SUCCESS;
***************
*** 581,587 ****
int_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: free_interrupt_handler for int %d, count = %d\n", irq, int_usage_count );
! }
return RTAPI_SUCCESS;
--- 641,647 ----
int_usage_count--;
! rtapi_print_dbg(VERBOSE,
! "RTAPI: free_interrupt_handler for int %d, count = %d\n",
! irq, int_usage_count);
return RTAPI_SUCCESS;
***************
*** 642,648 ****
sem_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: new_sem %p, count = %d\n", sem, sem_usage_count );
! }
return RTAPI_SUCCESS;
--- 702,707 ----
sem_usage_count++;
! rtapi_print_dbg(VERBOSE, "RTAPI: new_sem %p, count = %d\n", sem,
! sem_usage_count);
return RTAPI_SUCCESS;
***************
*** 669,675 ****
sem_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: delete_sem %p, count = %d\n", sem, sem_usage_count );
! }
return RTAPI_SUCCESS;
--- 728,733 ----
sem_usage_count--;
! rtapi_print_dbg(VERBOSE, "RTAPI: delete_sem %p, count = %d\n", sem,
! sem_usage_count);
return RTAPI_SUCCESS;
***************
*** 767,773 ****
fifo_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: new_fifo %p, count = %d\n", fifo, fifo_usage_count );
! }
return RTAPI_SUCCESS;
--- 825,830 ----
fifo_usage_count++;
! rtapi_print_dbg(VERBOSE, "RTAPI: new_fifo %p, count = %d\n", fifo,
! fifo_usage_count);
return RTAPI_SUCCESS;
***************
*** 794,800 ****
fifo_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: delete_fifo %p, count = %d\n", fifo, fifo_usage_count );
! }
return RTAPI_SUCCESS;
--- 851,856 ----
fifo_usage_count--;
! rtapi_print_dbg(VERBOSE, "RTAPI: delete_fifo %p, count = %d\n", fifo,
! fifo_usage_count);
return RTAPI_SUCCESS;
Index: rtapi.h
===================================================================
RCS file: /cvsroot/emc/rtapi/src/rtapi/rtapi.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** rtapi.h 5 Aug 2003 03:51:00 -0000 1.12
--- rtapi.h 9 Aug 2003 19:43:09 -0000 1.13
***************
*** 4,16 ****
/** These status codes are returned by many RTAPI functions. */
! #define RTAPI_SUCCESS 0 /* call successfull */
! #define RTAPI_UNSUP -1 /* function not supported */
! #define RTAPI_BADH -2 /* bad task, shmem, sem, or fifo handle */
! #define RTAPI_INVAL -3 /* invalid argument*/
! #define RTAPI_NOMEM -4 /* not enough memory */
! #define RTAPI_PERM -5 /* permission denied */
! #define RTAPI_BUSY -6 /* resource is busy or locked */
! #define RTAPI_NOTFND -7 /* object not found */
! #define RTAPI_FAIL -8 /* operation failed */
/* flags for the rtapi_task_start() call */
--- 4,16 ----
/** These status codes are returned by many RTAPI functions. */
! #define RTAPI_SUCCESS 0 /* call successfull */
! #define RTAPI_UNSUP -1 /* function not supported */
! #define RTAPI_BADH -2 /* bad task, shmem, sem, or fifo handle */
! #define RTAPI_INVAL -3 /* invalid argument */
! #define RTAPI_NOMEM -4 /* not enough memory */
! #define RTAPI_PERM -5 /* permission denied */
! #define RTAPI_BUSY -6 /* resource is busy or locked */
! #define RTAPI_NOTFND -7 /* object not found */
! #define RTAPI_FAIL -8 /* operation failed */
/* flags for the rtapi_task_start() call */
***************
*** 23,30 ****
* In fact, don't even count on handles always being pointers. */
! typedef struct rtapi_task *rtapi_task_handle;
! typedef struct rtapi_shmem *rtapi_shmem_handle;
! typedef struct rtapi_sem *rtapi_sem_handle;
! typedef struct rtapi_fifo *rtapi_fifo_handle;
--- 23,30 ----
* In fact, don't even count on handles always being pointers. */
! typedef struct rtapi_task *rtapi_task_handle;
! typedef struct rtapi_shmem *rtapi_shmem_handle;
! typedef struct rtapi_sem *rtapi_sem_handle;
! typedef struct rtapi_fifo *rtapi_fifo_handle;
***************
*** 56,63 ****
* 'rtapi_prio_next_lower(previous)'. */
! extern int rtapi_prio_highest( void );
! extern int rtapi_prio_lowest( void );
! extern int rtapi_prio_next_higher( int prio );
! extern int rtapi_prio_next_lower( int prio );
--- 56,63 ----
* 'rtapi_prio_next_lower(previous)'. */
! extern int rtapi_prio_highest(void);
! extern int rtapi_prio_lowest(void);
! extern int rtapi_prio_next_higher(int prio);
! extern int rtapi_prio_next_lower(int prio);
***************
*** 86,90 ****
* subsequent calls that need to act on the task. */
! extern int rtapi_task_new( rtapi_task_handle *taskptr );
--- 86,90 ----
* subsequent calls that need to act on the task. */
! extern int rtapi_task_new(rtapi_task_handle * taskptr);
***************
*** 96,100 ****
* should not attempt to delete itself! */
! extern int rtapi_task_delete( rtapi_task_handle task );
--- 96,100 ----
* should not attempt to delete itself! */
! extern int rtapi_task_delete(rtapi_task_handle task);
***************
*** 124,133 ****
*/
! extern int rtapi_task_start( rtapi_task_handle task,
! void (*taskcode)( int ),
! int arg, int prio,
! unsigned long int stacksize,
! unsigned long int period_nsec,
! unsigned char uses_fp );
--- 124,133 ----
*/
! extern int rtapi_task_start(rtapi_task_handle task,
! void (*taskcode) (int),
! int arg, int prio,
! unsigned long int stacksize,
! unsigned long int period_nsec,
! unsigned char uses_fp);
***************
*** 137,141 ****
* task - a task should not attempt to stop itself! */
! extern int rtapi_task_stop( rtapi_task_handle task );
--- 137,141 ----
* task - a task should not attempt to stop itself! */
! extern int rtapi_task_stop(rtapi_task_handle task);
***************
*** 145,150 ****
* itself. Returns a status code. */
! extern int rtapi_task_pause( rtapi_task_handle task );
! extern int rtapi_task_resume( rtapi_task_handle task );
--- 145,150 ----
* itself. Returns a status code. */
! extern int rtapi_task_pause(rtapi_task_handle task);
! extern int rtapi_task_resume(rtapi_task_handle task);
***************
*** 154,159 ****
* status code. */
! extern int rtapi_task_set_period( rtapi_task_handle task,
! unsigned long int period_nsec );
--- 154,159 ----
* status code. */
! extern int rtapi_task_set_period(rtapi_task_handle task,
! unsigned long int period_nsec);
***************
*** 164,168 ****
* Returns a status code. */
! extern int rtapi_wait( void );
--- 164,168 ----
* Returns a status code. */
! extern int rtapi_wait(void);
***************
*** 170,174 ****
/* the current task. Call only from a task. Returns a status code. */
! extern int rtapi_task_get_handle( rtapi_task_handle *taskptr );
--- 170,174 ----
/* the current task. Call only from a task. Returns a status code. */
! extern int rtapi_task_get_handle(rtapi_task_handle * taskptr);
***************
*** 184,189 ****
* Returns a status code. */
! extern int rtapi_shmem_new( int key, unsigned int size,
! rtapi_shmem_handle *shmemptr );
--- 184,189 ----
* Returns a status code. */
! extern int rtapi_shmem_new(int key, unsigned int size,
! rtapi_shmem_handle * shmemptr);
***************
*** 191,195 ****
* shared memory block 'mbuf'. Returns a status code. */
! extern int rtapi_shmem_getptr ( rtapi_shmem_handle shmem, void **ptr );
--- 191,195 ----
* shared memory block 'mbuf'. Returns a status code. */
! extern int rtapi_shmem_getptr(rtapi_shmem_handle shmem, void **ptr);
***************
*** 197,201 ****
* Returns a status code. */
! extern int rtapi_shmem_delete( rtapi_shmem_handle shmem );
--- 197,201 ----
* Returns a status code. */
! extern int rtapi_shmem_delete(rtapi_shmem_handle shmem);
***************
*** 208,212 ****
* can take a fairly long time, depending on the format string and OS. */
! extern void rtapi_print( const char *fmt, ... );
--- 208,219 ----
* can take a fairly long time, depending on the format string and OS. */
! extern void rtapi_print(const char *fmt, ...);
!
!
! /** 'rtapi_print_dbg()' prints a printf style message similar to *
! * to rtapi_print. If debug is less than the value used when the rtapi *
! * was loaded, then the message is printed. */
!
! extern void rtapi_print_dbg(int debug, const char *fmt, ...);
***************
*** 214,218 ****
* Note: This function does nothing on the simulated RTOS. */
! extern void rtapi_outb( unsigned char byte, unsigned int port );
--- 221,225 ----
* Note: This function does nothing on the simulated RTOS. */
! extern void rtapi_outb(unsigned char byte, unsigned int port);
***************
*** 220,224 ****
* Note: This function always returns zero on the simulated RTOS. */
! extern unsigned char rtapi_inb( unsigned int port );
--- 227,231 ----
* Note: This function always returns zero on the simulated RTOS. */
! extern unsigned char rtapi_inb(unsigned int port);
***************
*** 229,234 ****
* code. Note: The simulated RTOS does not support interrupts. */
! extern int rtapi_assign_interrupt_handler( unsigned int irq,
! void (*handler) (void) );
--- 236,241 ----
* code. Note: The simulated RTOS does not support interrupts. */
! extern int rtapi_assign_interrupt_handler(unsigned int irq,
! void (*handler) (void));
***************
*** 239,243 ****
* Returns RTAPI_SUCCESS or RTAPI_INVAL. */
! extern int rtapi_free_interrupt_handler( unsigned int irq );
--- 246,250 ----
* Returns RTAPI_SUCCESS or RTAPI_INVAL. */
! extern int rtapi_free_interrupt_handler(unsigned int irq);
***************
*** 246,251 ****
* handlers assigned to them. Returns a status code. */
! extern int rtapi_enable_interrupt( unsigned int irq );
! extern int rtapi_disable_interrupt( unsigned int irq );
--- 253,258 ----
* handlers assigned to them. Returns a status code. */
! extern int rtapi_enable_interrupt(unsigned int irq);
! extern int rtapi_disable_interrupt(unsigned int irq);
***************
*** 255,259 ****
* Returns a status code. */
! extern int rtapi_sem_new( rtapi_sem_handle *semptr );
--- 262,266 ----
* Returns a status code. */
! extern int rtapi_sem_new(rtapi_sem_handle * semptr);
***************
*** 262,266 ****
* resume execution. Returns a status code. */
! extern int rtapi_sem_delete( rtapi_sem_handle sem );
--- 269,273 ----
* resume execution. Returns a status code. */
! extern int rtapi_sem_delete(rtapi_sem_handle sem);
***************
*** 269,273 ****
* higher priority task will begin to run. Returns a status code. */
! extern int rtapi_sem_give( rtapi_sem_handle sem );
--- 276,280 ----
* higher priority task will begin to run. Returns a status code. */
! extern int rtapi_sem_give(rtapi_sem_handle sem);
***************
*** 277,281 ****
* until the semaphore is unlocked, then it returns RTAPI_SUCCESS. */
! extern int rtapi_sem_take( rtapi_sem_handle sem );
--- 284,288 ----
* until the semaphore is unlocked, then it returns RTAPI_SUCCESS. */
! extern int rtapi_sem_take(rtapi_sem_handle sem);
***************
*** 286,290 ****
* decide how to deal with the situation. */
! extern int rtapi_sem_try( rtapi_sem_handle sem );
--- 293,297 ----
* decide how to deal with the situation. */
! extern int rtapi_sem_try(rtapi_sem_handle sem);
***************
*** 296,301 ****
* code. */
! extern int rtapi_fifo_new( int key, unsigned long int size,
! rtapi_fifo_handle *fifoptr );
--- 303,308 ----
* code. */
! extern int rtapi_fifo_new(int key, unsigned long int size,
! rtapi_fifo_handle * fifoptr);
***************
*** 303,307 ****
* It destroys the fifo 'fifo'. Returns a status code. */
! extern int rtapi_fifo_delete( rtapi_fifo_handle fifo );
--- 310,314 ----
* It destroys the fifo 'fifo'. Returns a status code. */
! extern int rtapi_fifo_delete(rtapi_fifo_handle fifo);
***************
*** 312,317 ****
* available, and return that count (which could be zero). */
! extern int rtapi_fifo_read( rtapi_fifo_handle fifo,
! char *buf, unsigned long int size);
--- 319,324 ----
* available, and return that count (which could be zero). */
! extern int rtapi_fifo_read(rtapi_fifo_handle fifo,
! char *buf, unsigned long int size);
***************
*** 322,327 ****
* bytes as it can and return that count (which may be zero). */
! extern int rtapi_fifo_write( rtapi_fifo_handle fifo,
! char *buf, unsigned long int size);
--- 329,334 ----
* bytes as it can and return that count (which may be zero). */
! extern int rtapi_fifo_write(rtapi_fifo_handle fifo,
! char *buf, unsigned long int size);
Index: rtl_rtapi.c
===================================================================
RCS file: /cvsroot/emc/rtapi/src/rtapi/rtl_rtapi.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** rtl_rtapi.c 5 Aug 2003 03:51:00 -0000 1.3
--- rtl_rtapi.c 9 Aug 2003 19:43:09 -0000 1.4
***************
*** 8,12 ****
#include <linux/module.h>
#include <linux/kernel.h>
! #include <linux/slab.h> /* replaces malloc.h in recent kernels */
#include <rtl.h> /* top level config */
#include <rtl_sched.h> /* rtl_getschedclock(),
--- 8,12 ----
#include <linux/module.h>
#include <linux/kernel.h>
! #include <linux/slab.h> /* replaces malloc.h in recent kernels */
#include <rtl.h> /* top level config */
#include <rtl_sched.h> /* rtl_getschedclock(),
***************
*** 48,53 ****
int magic; /* to check for valid handle */
pthread_t ostask; /* OS specific task data */
! int arg; /* argument for task function */
! void (*taskcode)( int ); /* pointer to task function */
};
--- 48,53 ----
int magic; /* to check for valid handle */
pthread_t ostask; /* OS specific task data */
! int arg; /* argument for task function */
! void (*taskcode) (int); /* pointer to task function */
};
***************
*** 86,89 ****
--- 86,93 ----
static int timer_running = 0;
+ int debug = 1;
+ MODULE_PARM(debug, "i");
+ MODULE_PARM_DESC(debug, "Sets the verbosity of the debug prints");
+
/* maximum number of tasks */
#define RTAPI_MAX_TASKS 64
***************
*** 150,154 ****
int_usage_count = 0;
timer_running = 0;
! for ( n = 0 ; n < RTAPI_MAX_TASKS ; n++ ) {
task_array[n] = NULL;
}
--- 154,158 ----
int_usage_count = 0;
timer_running = 0;
! for (n = 0; n < RTAPI_MAX_TASKS; n++) {
task_array[n] = NULL;
}
***************
*** 159,181 ****
static int rtapi_exit(void)
{
! if (task_usage_count != 0 ) {
rtapi_print("RTAPI: ERROR: %d task(s) allocated but not deleted",
! task_usage_count);
}
! if (shmem_usage_count != 0 ) {
rtapi_print("RTAPI: ERROR: %d shmem block(s) allocated but not deleted",
! shmem_usage_count);
}
! if (sem_usage_count != 0 ) {
rtapi_print("RTAPI: ERROR: %d semaphores(s) allocated but not deleted",
! sem_usage_count);
}
! if (fifo_usage_count != 0 ) {
rtapi_print("RTAPI: ERROR: %d fifo(s) allocated but not deleted",
! fifo_usage_count);
}
! if (int_usage_count != 0 ) {
rtapi_print("RTAPI: ERROR: %d IRQ handler(s) installed but not removed",
! int_usage_count);
}
rtapi_print("RTAPI: Shutting down\n");
--- 163,185 ----
static int rtapi_exit(void)
{
! if (task_usage_count != 0) {
rtapi_print("RTAPI: ERROR: %d task(s) allocated but not deleted",
! task_usage_count);
}
! if (shmem_usage_count != 0) {
rtapi_print("RTAPI: ERROR: %d shmem block(s) allocated but not deleted",
! shmem_usage_count);
}
! if (sem_usage_count != 0) {
rtapi_print("RTAPI: ERROR: %d semaphores(s) allocated but not deleted",
! sem_usage_count);
}
! if (fifo_usage_count != 0) {
rtapi_print("RTAPI: ERROR: %d fifo(s) allocated but not deleted",
! fifo_usage_count);
}
! if (int_usage_count != 0) {
rtapi_print("RTAPI: ERROR: %d IRQ handler(s) installed but not removed",
! int_usage_count);
}
rtapi_print("RTAPI: Shutting down\n");
***************
*** 197,226 ****
int rtapi_clock_set_period(unsigned long int nsecs)
{
! int retval;
/* The RTL implementation of setclockmode is lame. If you
! specify a period that is too high, (like 1 second) it prints
! a message to the system log file, but instead of returning
! an error code, it sets the timer to 100Hz and returns success!
! If that's not bad enough, subsequent calls to set the period
! of a task are corrupted, such that you can ask for a 1 second
! task, and instead get one that runs every 0.01 sec, with no
! error codes or other way of detecting it. Stupid! To avoid
! this we only allow a timer period of 0.01 seconds or less.
! Note that you can still run tasks at slower rates, but the
! timer must run at least 100Hz. */
! if ( nsecs > 10000000L ) {
return RTAPI_INVAL;
}
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: clock_set_period ( %ld )\n", nsecs );
! }
timer_running = 1;
retval = rtl_setclockmode(rtl_getschedclock(),
! RTL_CLOCK_MODE_PERIODIC, nsecs);
! if ( retval != 0 ) {
return RTAPI_INVAL;
}
--- 201,229 ----
int rtapi_clock_set_period(unsigned long int nsecs)
{
! int retval;
/* The RTL implementation of setclockmode is lame. If you
! specify a period that is too high, (like 1 second) it prints
! a message to the system log file, but instead of returning
! an error code, it sets the timer to 100Hz and returns success!
! If that's not bad enough, subsequent calls to set the period
! of a task are corrupted, such that you can ask for a 1 second
! task, and instead get one that runs every 0.01 sec, with no
! error codes or other way of detecting it. Stupid! To avoid
! this we only allow a timer period of 0.01 seconds or less.
! Note that you can still run tasks at slower rates, but the
! timer must run at least 100Hz. */
! if (nsecs > 10000000L) {
return RTAPI_INVAL;
}
! rtapi_print_dbg(VERBOSE, "RTAPI: clock_set_period ( %ld )\n", nsecs);
!
timer_running = 1;
retval = rtl_setclockmode(rtl_getschedclock(),
! RTL_CLOCK_MODE_PERIODIC, nsecs);
! if (retval != 0) {
return RTAPI_INVAL;
}
***************
*** 246,253 ****
/* find empty spot in task array */
n = 0;
! while ( ( n < RTAPI_MAX_TASKS ) && ( task_array[n] != NULL ) ) {
n++;
}
! if ( n == RTAPI_MAX_TASKS ) {
return RTAPI_NOMEM;
}
--- 249,256 ----
/* find empty spot in task array */
n = 0;
! while ((n < RTAPI_MAX_TASKS) && (task_array[n] != NULL)) {
n++;
}
! if (n == RTAPI_MAX_TASKS) {
return RTAPI_NOMEM;
}
***************
*** 271,278 ****
task_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: new_task %p, count = %d\n",
! task, task_usage_count );
! }
return RTAPI_SUCCESS;
--- 274,279 ----
task_usage_count++;
! rtapi_print_dbg(VERBOSE, "RTAPI: new_task %p, count = %d\n", task,
! task_usage_count);
return RTAPI_SUCCESS;
***************
*** 294,306 ****
/* find entry in task array */
n = 0;
! while ( ( n < RTAPI_MAX_TASKS ) && ( task_array[n] != task ) ) {
n++;
}
! if ( n == RTAPI_MAX_TASKS ) {
return RTAPI_INVAL;
}
/* this is from Fred's original code - it appears to stop the
! task, but the task should already be stopped... is it needed? */
pthread_cancel(task->ostask);
pthread_join(task->ostask, NULL);
--- 295,307 ----
/* find entry in task array */
n = 0;
! while ((n < RTAPI_MAX_TASKS) && (task_array[n] != task)) {
n++;
}
! if (n == RTAPI_MAX_TASKS) {
return RTAPI_INVAL;
}
/* this is from Fred's original code - it appears to stop the
! task, but the task should already be stopped... is it needed? */
pthread_cancel(task->ostask);
pthread_join(task->ostask, NULL);
***************
*** 316,323 ****
task_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: delete_task %p, count = %d\n",
! task, task_usage_count );
! }
return RTAPI_SUCCESS;
--- 317,322 ----
task_usage_count--;
! rtapi_print_dbg(VERBOSE, "RTAPI: delete_task %p, count = %d\n",
! task, task_usage_count);
return RTAPI_SUCCESS;
***************
*** 329,340 ****
/* we solve this with a wrapper function that meets pthread's needs */
! static void *wrapper ( void *arg )
{
! rtapi_task_handle task;
/* use the argument to point to the task data */
task = arg;
/* call the task function with the task argument */
! (task->taskcode)( task->arg );
/* done */
return NULL;
--- 328,339 ----
/* we solve this with a wrapper function that meets pthread's needs */
! static void *wrapper(void *arg)
{
! rtapi_task_handle task;
/* use the argument to point to the task data */
task = arg;
/* call the task function with the task argument */
! (task->taskcode) (task->arg);
/* done */
return NULL;
***************
*** 366,370 ****
/* set up task attributes */
retval = pthread_attr_init(&attr);
! if ( retval != 0 ) {
return RTAPI_NOMEM;
}
--- 365,369 ----
/* set up task attributes */
retval = pthread_attr_init(&attr);
! if (retval != 0) {
return RTAPI_NOMEM;
}
***************
*** 372,389 ****
sched_param.sched_priority = prio;
retval = pthread_attr_setschedparam(&attr, &sched_param);
! if ( retval != 0 ) {
return RTAPI_INVAL;
}
/* set up the task itself */
/* create the thread - use the wrapper function, pass it a pointer
! to the task structure so it can call the actual task function */
task->taskcode = taskcode;
task->arg = arg;
! retval = pthread_create(&(task->ostask), &attr, wrapper, (void *)task );
! if ( retval != 0 ) {
! if ( retval == EAGAIN ) {
return RTAPI_NOMEM;
}
! if ( retval == EPERM ) {
return RTAPI_PERM;
}
--- 371,388 ----
sched_param.sched_priority = prio;
retval = pthread_attr_setschedparam(&attr, &sched_param);
! if (retval != 0) {
return RTAPI_INVAL;
}
/* set up the task itself */
/* create the thread - use the wrapper function, pass it a pointer
! to the task structure so it can call the actual task function */
task->taskcode = taskcode;
task->arg = arg;
! retval = pthread_create(&(task->ostask), &attr, wrapper, (void *) task);
! if (retval != 0) {
! if (retval == EAGAIN) {
return RTAPI_NOMEM;
}
! if (retval == EPERM) {
return RTAPI_PERM;
}
***************
*** 392,396 ****
pthread_setfp_np(task->ostask, (int) uses_fp);
retval = pthread_setschedparam(task->ostask, SCHED_FIFO, &sched_param);
! if ( retval != 0 ) {
return RTAPI_FAIL;
}
--- 391,395 ----
pthread_setfp_np(task->ostask, (int) uses_fp);
retval = pthread_setschedparam(task->ostask, SCHED_FIFO, &sched_param);
! if (retval != 0) {
return RTAPI_FAIL;
}
***************
*** 400,404 ****
/* start the task in periodic mode */
retval = pthread_make_periodic_np(task->ostask,
! gethrtime()+period_nsec, (hrtime_t)period_nsec);
if (retval != 0) {
return RTAPI_FAIL;
--- 399,404 ----
/* start the task in periodic mode */
retval = pthread_make_periodic_np(task->ostask,
! gethrtime() + period_nsec,
! (hrtime_t) period_nsec);
if (retval != 0) {
return RTAPI_FAIL;
***************
*** 412,418 ****
}
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: start_task %p\n", task );
! }
return RTAPI_SUCCESS;
--- 412,416 ----
}
! rtapi_print_dbg(VERBOSE, "RTAPI: start_task %p\n", task);
return RTAPI_SUCCESS;
***************
*** 437,443 ****
}
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: stop_task %p\n", task );
! }
return RTAPI_SUCCESS;
--- 435,439 ----
}
! rtapi_print_dbg(VERBOSE, "RTAPI: stop_task %p\n", task);
return RTAPI_SUCCESS;
***************
*** 497,501 ****
retval = pthread_make_periodic_np(*((pthread_t *) task),
! gethrtime() + period_nsec, period_nsec);
if (retval != 0) {
return RTAPI_FAIL;
--- 493,497 ----
retval = pthread_make_periodic_np(*((pthread_t *) task),
! gethrtime() + period_nsec, period_nsec);
if (retval != 0) {
return RTAPI_FAIL;
***************
*** 512,516 ****
! int rtapi_task_get_handle(rtapi_task_handle *taskptr)
{
int n;
--- 508,512 ----
! int rtapi_task_get_handle(rtapi_task_handle * taskptr)
{
int n;
***************
*** 526,533 ****
/* find entry in task array */
n = 0;
! while ( ( n < RTAPI_MAX_TASKS ) && ( task_array[n]->ostask != task_id ) ) {
n++;
}
! if ( n == RTAPI_MAX_TASKS ) {
return RTAPI_INVAL;
}
--- 522,529 ----
/* find entry in task array */
n = 0;
! while ((n < RTAPI_MAX_TASKS) && (task_array[n]->ostask != task_id)) {
n++;
}
! if (n == RTAPI_MAX_TASKS) {
return RTAPI_INVAL;
}
***************
*** 551,555 ****
*/
! #define KEYSTR_LEN 16 /* larger than number of digits in MAX_INT */
static void genstr(unsigned int i, char *str)
--- 547,551 ----
*/
! #define KEYSTR_LEN 16 /* larger than number of digits in MAX_INT */
static void genstr(unsigned int i, char *str)
***************
*** 612,619 ****
shmem_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: new_shmem %p, key = %d, count = %d\n",
! shmem, key, shmem_usage_count );
! }
return RTAPI_SUCCESS;
--- 608,613 ----
shmem_usage_count++;
! rtapi_print_dbg(VERBOSE, "RTAPI: new_shmem %p, key = %d, count = %d\n",
! shmem, key, shmem_usage_count);
return RTAPI_SUCCESS;
***************
*** 661,668 ****
shmem_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: delete_shmem %p, count = %d\n",
! shmem, shmem_usage_count );
! }
return RTAPI_SUCCESS;
--- 655,660 ----
shmem_usage_count--;
! rtapi_print_dbg(VERBOSE, "RTAPI: delete_shmem %p, count = %d\n",
! shmem, shmem_usage_count);
return RTAPI_SUCCESS;
***************
*** 686,689 ****
--- 678,696 ----
+ void rtapi_print_dbg(int dbg, const char *fmt, ...)
+ {
+ va_list args;
+ enum { BUFFERLEN = 256 };
+ static char buffer[BUFFERLEN];
+
+ if (dbg < debug) {
+ va_start(args, fmt);
+ vsprintf(buffer, fmt, args);
+ rtl_printf(buffer);
+ va_end(args);
+ }
+ }
+
+
void rtapi_outb(unsigned char byte, unsigned int port)
{
***************
*** 702,706 ****
! int rtapi_assign_interrupt_handler(unsigned int irq, void (*handler)(void) )
{
int retval;
--- 709,713 ----
! int rtapi_assign_interrupt_handler(unsigned int irq, void (*handler) (void))
{
int retval;
***************
*** 724,731 ****
int_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: assign_intr_handler for int %d, count = %d\n",
! irq, int_usage_count );
! }
return RTAPI_SUCCESS;
--- 731,737 ----
int_usage_count++;
! rtapi_print_dbg(VERBOSE,
! "RTAPI: assign_intr_handler for int %d, count = %d\n", irq,
! int_usage_count);
return RTAPI_SUCCESS;
***************
*** 751,758 ****
int_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: free_intr_handler for int %d, count = %d\n",
! irq, int_usage_count );
! }
return RTAPI_SUCCESS;
--- 757,763 ----
int_usage_count--;
! rtapi_print_dbg(VERBOSE,
! "RTAPI: free_intr_handler for int %d, count = %d\n", irq,
! int_usage_count);
return RTAPI_SUCCESS;
***************
*** 805,809 ****
/* ask the OS to initialize the semaphore */
retval = sem_init(&(sem->ossem), 0, 0);
! if ( retval != 0 ) {
kfree(sem);
return RTAPI_FAIL;
--- 810,814 ----
/* ask the OS to initialize the semaphore */
retval = sem_init(&(sem->ossem), 0, 0);
! if (retval != 0) {
kfree(sem);
return RTAPI_FAIL;
***************
*** 819,826 ****
sem_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: new_sem %p, count = %d\n",
! sem, sem_usage_count );
! }
return RTAPI_SUCCESS;
--- 824,829 ----
sem_usage_count++;
! rtapi_print_dbg(VERBOSE, "RTAPI: new_sem %p, count = %d\n", sem,
! sem_usage_count);
return RTAPI_SUCCESS;
***************
*** 847,854 ****
sem_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: delete_sem %p, count = %d\n",
! sem, sem_usage_count );
! }
return RTAPI_SUCCESS;
--- 850,855 ----
sem_usage_count--;
! rtapi_print_dbg(VERBOSE, "RTAPI: delete_sem %p, count = %d\n", sem,
! sem_usage_count);
return RTAPI_SUCCESS;
***************
*** 946,953 ****
fifo_usage_count++;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: new_fifo %p, count = %d\n",
! fifo, fifo_usage_count );
! }
return RTAPI_SUCCESS;
--- 947,952 ----
fifo_usage_count++;
! rtapi_print_dbg(VERBOSE, "RTAPI: new_fifo %p, count = %d\n", fifo,
! fifo_usage_count);
return RTAPI_SUCCESS;
***************
*** 974,981 ****
fifo_usage_count--;
! if ( VERBOSE ) {
! rtapi_print ( "RTAPI: delete_fifo %p, count = %d\n",
! fifo, fifo_usage_count );
! }
return RTAPI_SUCCESS;
--- 973,978 ----
fifo_usage_count--;
! rtapi_print_dbg(VERBOSE, "RTAPI: delete_fifo %p, count = %d\n",
! fifo, fifo_usage_count);
return RTAPI_SUCCESS;
Index: rtl_ulapi.c
===================================================================
RCS file: /cvsroot/emc/rtapi/src/rtapi/rtl_ulapi.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** rtl_ulapi.c 5 Aug 2003 03:51:00 -0000 1.3
--- rtl_ulapi.c 9 Aug 2003 19:43:09 -0000 1.4
***************
*** 90,99 ****
char keystr[KEYSTR_LEN];
! printf ( "ulapi_shmem_new: entry\n" );
/* validate shmemptr */
if (shmemptr == NULL) {
return ULAPI_INVAL;
}
! printf ( "ulapi_shmem_new: pointer OK\n" );
/* alloc space for shmem structure */
shmem = malloc(sizeof(struct ulapi_shmem));
--- 90,99 ----
char keystr[KEYSTR_LEN];
! printf("ulapi_shmem_new: entry\n");
/* validate shmemptr */
if (shmemptr == NULL) {
return ULAPI_INVAL;
}
! printf("ulapi_shmem_new: pointer OK\n");
/* alloc space for shmem structure */
shmem = malloc(sizeof(struct ulapi_shmem));
***************
*** 101,110 ****
return ULAPI_NOMEM;
}
! printf ( "ulapi_shmem_new: allocated struct\n" );
/* convert key to a string */
genstr((unsigned int) key, keystr);
/* now get shared memory block from OS */
! printf ( "ulapi_shmem_new: converted key\n" );
shmem->mem = mbuff_alloc(keystr, size);
if (shmem->mem == NULL) {
--- 101,110 ----
return ULAPI_NOMEM;
}
! printf("ulapi_shmem_new: allocated struct\n");
/* convert key to a string */
genstr((unsigned int) key, keystr);
/* now get shared memory block from OS */
! printf("ulapi_shmem_new: converted key\n");
shmem->mem = mbuff_alloc(keystr, size);
if (shmem->mem == NULL) {
***************
*** 112,116 ****
return ULAPI_NOMEM;
}
! printf ( "ulapi_shmem_new: opened shmbuf\n" );
/* label as a valid shmem structure */
--- 112,116 ----
return ULAPI_NOMEM;
}
! printf("ulapi_shmem_new: opened shmbuf\n");
/* label as a valid shmem structure */
Index: sim_rtapi.c
===================================================================
RCS file: /cvsroot/emc/rtapi/src/rtapi/sim_rtapi.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** sim_rtapi.c 4 Aug 2003 06:00:25 -0000 1.5
--- sim_rtapi.c 9 Aug 2003 19:43:09 -0000 1.6
***************
*** 20,38 ****
struct rtapi_task {
! int magic; /* to check for valid handle */
! pthread_t id; /* OS specific task identifier */
! int arg; /* argument for task function */
! void (*taskcode)( int ); /* pointer to task function */
! };
struct rtapi_shmem {
! int magic; /* to check for valid handle */
! int key; /* key to shared memory area */
! int id; /* OS identifier for shmem */
! unsigned long int size; /* size of shared memory area */
! void *mem; /* pointer to the memory */
! };
! #define TASK_MAGIC 21979 /* random numbers used as signatures */
#define SHMEM_MAGIC 25453
--- 20,38 ----
struct rtapi_task {
! int magic; /* to check for valid handle */
! pthread_t id; /* OS specific task identifier */
! int arg; /* argument for task function */
! void (*taskcode) (int); /* pointer to task function */
! };
struct rtapi_shmem {
! int magic; /* to check for valid handle */
! int key; /* key to shared memory area */
! int id; /* OS identifier for shmem */
! unsigned long int size; /* size of shared memory area */
! void *mem; /* pointer to the memory */
! };
! #define TASK_MAGIC 21979 /* random numbers used as signatures */
#define SHMEM_MAGIC 25453
***************
*** 82,89 ****
int rtapi_init(void)
{
! int n;
/* clear the task array - if magic doesn't contain the magic
number, that means that array entry is empty */
! for ( n = 0 ; n < MAX_TASKS ; n++ )
task_array[n].magic = 0;
--- 82,89 ----
int rtapi_init(void)
{
! int n;
/* clear the task array - if magic doesn't contain the magic
number, that means that array entry is empty */
! for (n = 0; n < MAX_TASKS; n++)
task_array[n].magic = 0;
***************
*** 104,114 ****
! int rtapi_task_new( rtapi_task_handle *taskptr )
{
! int n;
! rtapi_task_handle task;
/* validate taskptr */
! if ( taskptr == NULL )
return RTAPI_INVAL;
--- 104,114 ----
! int rtapi_task_new(rtapi_task_handle * taskptr)
{
! int n;
! rtapi_task_handle task;
/* validate taskptr */
! if (taskptr == NULL)
return RTAPI_INVAL;
***************
*** 120,127 ****
atomic test and set for the magic number. Not tonight! */
n = 0;
! while ( ( n < MAX_TASKS ) &&
! ( task_array[n].magic == TASK_MAGIC ) )
n++;
! if ( n == MAX_TASKS )
return RTAPI_NOMEM;
task = &(task_array[n]);
--- 120,126 ----
atomic test and set for the magic number. Not tonight! */
n = 0;
! while ((n < MAX_TASKS) && (task_array[n].magic == TASK_MAGIC))
n++;
! if (n == MAX_TASKS)
return RTAPI_NOMEM;
task = &(task_array[n]);
***************
*** 138,147 ****
! int rtapi_task_delete( rtapi_task_handle task )
{
/* validate task handle */
! if ( task == NULL )
return RTAPI_BADH;
! if ( task->magic != TASK_MAGIC )
return RTAPI_BADH;
--- 137,146 ----
! int rtapi_task_delete(rtapi_task_handle task)
{
/* validate task handle */
! if (task == NULL)
return RTAPI_BADH;
! if (task->magic != TASK_MAGIC)
return RTAPI_BADH;
***************
*** 156,167 ****
/* we solve this with a wrapper function that meets pthread's needs */
! static void *wrapper ( void *arg )
{
! rtapi_task_handle task;
/* use the argument to point to the task data */
task = arg;
/* call the task function with the task argument */
! (task->taskcode)( task->arg );
/* done */
return NULL;
--- 155,166 ----
/* we solve this with a wrapper function that meets pthread's needs */
! static void *wrapper(void *arg)
{
! rtapi_task_handle task;
/* use the argument to point to the task data */
task = arg;
/* call the task function with the task argument */
! (task->taskcode) (task->arg);
/* done */
return NULL;
***************
*** 169,178 ****
! int rtapi_task_start( rtapi_task_handle task,
! void (*taskcode)( int ),
! int arg, int prio,
! unsigned long int stacksize,
! unsigned long int period_nsec,
! unsigned char uses_fp )
{
int retval;
--- 168,176 ----
! int rtapi_task_start(rtapi_task_handle task,
! void (*taskcode) (int),
! int arg, int prio,
! unsigned long int stacksize,
! unsigned long int period_nsec, unsigned char uses_fp)
{
int retval;
***************
*** 181,210 ****
/* validate task handle */
! if ( task == NULL )
return RTAPI_BADH;
! if ( task->magic != TASK_MAGIC )
return RTAPI_BADH;
/* check requested priority */
! if ( ( prio < rtapi_prio_highest() ) ||
! ( prio > rtapi_prio_lowest() ) )
return RTAPI_INVAL;
/* get default thread attributes */
! pthread_attr_init( &attr );
/* set priority */
sched_param.sched_priority = prio;
! pthread_attr_setschedparam( &attr, &sched_param );
/* create the thread - use the wrapper function, pass it a pointer
! to the task structure so it can call the actual task function */
task->taskcode = taskcode;
task->arg = arg;
! retval = pthread_create( &(task->id), &attr, wrapper, (void *)task );
! if ( retval != 0 )
return RTAPI_NOMEM;
! retval = pthread_setschedparam( task->id, SCHED_FIFO, &sched_param);
! if ( retval != 0 )
/* need to be root to set SCHED_FIFO */
return RTAPI_PERM;
--- 179,207 ----
/* validate task handle */
! if (task == NULL)
return RTAPI_BADH;
! if (task->magic != TASK_MAGIC)
return RTAPI_BADH;
/* check requested priority */
! if ((prio < rtapi_prio_highest()) || (prio > rtapi_prio_lowest()))
return RTAPI_INVAL;
/* get default thread attributes */
! pthread_attr_init(&attr);
/* set priority */
sched_param.sched_priority = prio;
! pthread_attr_setschedparam(&attr, &sched_param);
/* create the thread - use the wrapper function, pass it a pointer
! to the task structure so it can call the actual task function */
task->taskcode = taskcode;
task->arg = arg;
! retval = pthread_create(&(task->id), &attr, wrapper, (void *) task);
! if (retval != 0)
return RTAPI_NOMEM;
! retval = pthread_setschedparam(task->id, SCHED_FIFO, &sched_param);
! if (retval != 0)
/* need to be root to set SCHED_FIFO */
return RTAPI_PERM;
***************
*** 213,272 ****
! int rtapi_task_stop( rtapi_task_handle task )
{
! int retval;
/* validate task handle */
! if ( task == NULL )
return RTAPI_BADH;
! if ( task->magic != TASK_MAGIC )
return RTAPI_BADH;
! retval = pthread_cancel( task->id );
! if ( retval != 0 )
return RTAPI_FAIL;
return RTAPI_SUCCESS;
}
! int rtapi_task_pause( rtapi_task_handle task )
{
/* validate task handle */
! if ( task == NULL )
return RTAPI_BADH;
! if ( task->magic != TASK_MAGIC )
return RTAPI_BADH;
/* FIXME - Fred originally had this function return success.
! I changed it to return Not Supported. Is that right? */
return RTAPI_UNSUP;
}
! int rtapi_task_resume( rtapi_task_handle task )
{
/* validate task handle */
! if ( task == NULL )
return RTAPI_BADH;
! if ( task->magic != TASK_MAGIC )
return RTAPI_BADH;
/* FIXME - Fred originally had this function return success.
! I changed it to return Not Supported. Is that right? */
return RTAPI_UNSUP;
}
! int rtapi_task_set_period( rtapi_task_handle task,
! unsigned long int period_nsec )
{
/* validate task handle */
! if ( task == NULL )
return RTAPI_BADH;
! if ( task->magic != TASK_MAGIC )
return RTAPI_BADH;
/* FIXME - Fred originally had this function return success.
! I changed it to return Not Supported. Is that right? */
return RTAPI_UNSUP;
}
--- 210,269 ----
! int rtapi_task_stop(rtapi_task_handle task)
{
! int retval;
/* validate task handle */
! if (task == NULL)
return RTAPI_BADH;
! if (task->magic != TASK_MAGIC)
return RTAPI_BADH;
! retval = pthread_cancel(task->id);
! if (retval != 0)
return RTAPI_FAIL;
return RTAPI_SUCCESS;
}
! int rtapi_task_pause(rtapi_task_handle task)
{
/* validate task handle */
! if (task == NULL)
return RTAPI_BADH;
! if (task->magic != TASK_MAGIC)
return RTAPI_BADH;
/* FIXME - Fred originally had this function return success.
! I changed it to return Not Supported. Is that right? */
return RTAPI_UNSUP;
}
! int rtapi_task_resume(rtapi_task_handle task)
{
/* validate task handle */
! if (task == NULL)
return RTAPI_BADH;
! if (task->magic != TASK_MAGIC)
return RTAPI_BADH;
/* FIXME - Fred originally had this function return success.
! I changed it to return Not Supported. Is that right? */
return RTAPI_UNSUP;
}
! int rtapi_task_set_period(rtapi_task_handle task,
! unsigned long int period_nsec)
{
/* validate task handle */
! if (task == NULL)
return RTAPI_BADH;
! if (task->magic != TASK_MAGIC)
return RTAPI_BADH;
/* FIXME - Fred originally had this function return success.
! I changed it to return Not Supported. Is that right? */
return RTAPI_UNSUP;
}
***************
*** 282,292 ****
! int rtapi_task_get_handle( rtapi_task_handle *taskptr )
{
! int n;
! pthread_t task_id;
/* validate taskptr */
! if ( taskptr == NULL )
return RTAPI_INVAL;
--- 279,289 ----
! int rtapi_task_get_handle(rtapi_task_handle * taskptr)
{
! int n;
! pthread_t task_id;
/* validate taskptr */
! if (taskptr == NULL)
return RTAPI_INVAL;
***************
*** 296,302 ****
/* search task array for a matching entry */
n = 0;
! while ( n < MAX_TASKS ) {
! if ( ( task_array[n].magic == TASK_MAGIC ) &&
! ( task_array[n].id == task_id ) ) {
/* found it */
*taskptr = &(task_array[n]);
--- 293,298 ----
/* search task array for a matching entry */
n = 0;
! while (n < MAX_TASKS) {
! if ((task_array[n].magic == TASK_MAGIC) && (task_array[n].id == task_id)) {
/* found it */
*taskptr = &(task_array[n]);
***************
*** 309,336 ****
! int rtapi_shmem_new( int key, unsigned int size,
! rtapi_shmem_handle *shmemptr )
{
! rtapi_shmem_handle shmem;
/* validate shmemptr */
! if ( shmemptr == NULL )
return RTAPI_INVAL;
/* alloc space for shmem structure */
! shmem = malloc( sizeof(struct rtapi_shmem) );
! if ( shmem == NULL )
return RTAPI_NOMEM;
/* now get shared memory block from OS */
! shmem->id = shmget( (key_t) key, (int) size, IPC_CREAT | 0666 );
! if ( shmem->id == -1 ) {
! free ( shmem );
return RTAPI_NOMEM;
}
/* and map it into process space */
! shmem->mem = shmat( shmem->id, 0, 0);
! if ( (int)(shmem->mem) == -1 ) {
! free ( shmem );
return RTAPI_NOMEM;
}
--- 305,331 ----
! int rtapi_shmem_new(int key, unsigned int size, rtapi_shmem_handle * shmemptr)
{
! rtapi_shmem_handle shmem;
/* validate shmemptr */
! if (shmemptr == NULL)
return RTAPI_INVAL;
/* alloc space for shmem structure */
! shmem = malloc(sizeof(struct rtapi_shmem));
! if (shmem == NULL)
return RTAPI_NOMEM;
/* now get shared memory block from OS */
! shmem->id = shmget((key_t) key, (int) size, IPC_CREAT | 0666);
! if (shmem->id == -1) {
! free(shmem);
return RTAPI_NOMEM;
}
/* and map it into process space */
! shmem->mem = shmat(shmem->id, 0, 0);
! if ((int) (shmem->mem) == -1) {
! free(shmem);
return RTAPI_NOMEM;
}
***************
*** 348,357 ****
! int rtapi_shmem_getptr ( rtapi_shmem_handle shmem, void **ptr )
{
/* validate shmem handle */
! if ( shmem == NULL )
return RTAPI_BADH;
! if ( shmem->magic != SHMEM_MAGIC )
return RTAPI_BADH;
--- 343,352 ----
! int rtapi_shmem_getptr(rtapi_shmem_handle shmem, void **ptr)
{
/* validate shmem handle */
! if (shmem == NULL)
return RTAPI_BADH;
! if (shmem->magic != SHMEM_MAGIC)
return RTAPI_BADH;
***************
*** 362,381 ****
! int rtapi_shmem_delete( rtapi_shmem_handle shmem )
{
! struct shmid_ds d;
! int r1, r2;
/* validate shmem handle */
! if ( shmem == NULL )
return RTAPI_BADH;
! if ( shmem->magic != SHMEM_MAGIC )
return RTAPI_BADH;
/* unmap the shared memory */
! r1 = shmdt( shmem->mem );
/* destroy the shared memory */
! r2 = shmctl( shmem->id, IPC_RMID, &d );
/* FIXME - Fred had the first two arguments reversed. I changed
them to match the shmctl man page on my machine. Since his way
--- 357,376 ----
! int rtapi_shmem_delete(rtapi_shmem_handle shmem)
{
! struct shmid_ds d;
! int r1, r2;
/* validate shmem handle */
! if (shmem == NULL)
return RTAPI_BADH;
! if (shmem->magic != SHMEM_MAGIC)
return RTAPI_BADH;
/* unmap the shared memory */
! r1 = shmdt(shmem->mem);
/* destroy the shared memory */
! r2 = shmctl(shmem->id, IPC_RMID, &d);
/* FIXME - Fred had the first two arguments reversed. I changed
them to match the shmctl man page on my machine. Since his way
***************
*** 385,391 ****
/* free the shmem structure */
shmem->magic = 0;
! free ( shmem );
! if ( ( r1 != 0 ) || ( r2 != 0 ) )
return RTAPI_FAIL;
return RTAPI_SUCCESS;
--- 380,386 ----
/* free the shmem structure */
shmem->magic = 0;
! free(shmem);
! if ((r1 != 0) || (r2 != 0))
return RTAPI_FAIL;
return RTAPI_SUCCESS;
***************
*** 402,405 ****
--- 397,411 ----
}
+
+ void rtapi_print_dbg(int dbg, const char *fmt, ...)
+ {
+ va_list args;
+
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+ }
+
+
void rtapi_outb(unsigned char byte, unsigned int port)
{
***************
*** 426,435 ****
}
! int rtapi_enable_interrupt( unsigned int irq )
{
return RTAPI_UNSUP;
}
! int rtapi_disable_interrupt( unsigned int irq )
{
return RTAPI_UNSUP;
--- 432,441 ----
}
! int rtapi_enable_interrupt(unsigned int irq)
{
return RTAPI_UNSUP;
}
! int rtapi_disable_interrupt(unsigned int irq)
{
return RTAPI_UNSUP;
***************
*** 439,463 ****
/* FIXME - no support for semaphores */
! int rtapi_sem_new( rtapi_sem_handle *semptr )
{
return RTAPI_UNSUP;
}
! int rtapi_sem_delete( rtapi_sem_handle sem )
{
return RTAPI_UNSUP;
}
! int rtapi_sem_give( rtapi_sem_handle sem )
{
return RTAPI_UNSUP;
}
! int rtapi_sem_take( rtapi_sem_handle sem )
{
return RTAPI_UNSUP;
}
! int rtapi_sem_try( rtapi_sem_handle sem )
{
return RTAPI_UNSUP;
--- 445,469 ----
/* FIXME - no support for semaphores */
! int rtapi_sem_new(rtapi_sem_handle * semptr)
{
return RTAPI_UNSUP;
}
! int rtapi_sem_delete(rtapi_sem_handle sem)
{
return RTAPI_UNSUP;
}
! int rtapi_sem_give(rtapi_sem_handle sem)
{
return RTAPI_UNSUP;
}
! int rtapi_sem_take(rtapi_sem_handle sem)
{
return RTAPI_UNSUP;
}
! int rtapi_sem_try(rtapi_sem_handle sem)
{
return RTAPI_UNSUP;
***************
*** 467,493 ****
/* FIXME - no support for fifos */
! int rtapi_fifo_new( int key, unsigned long int size,
! rtapi_fifo_handle *fifoptr )
{
return RTAPI_UNSUP;
}
! int rtapi_fifo_delete( rtapi_fifo_handle fifo )
{
return RTAPI_UNSUP;
}
! int rtapi_fifo_read( rtapi_fifo_handle fifo,
! char *buf, unsigned long int size)
{
return RTAPI_UNSUP;
}
! int rtapi_fifo_write( rtapi_fifo_handle fifo,
! char *buf, unsigned long int size)
{
return RTAPI_UNSUP;
}
-
-
-
--- 473,495 ----
/* FIXME - no support for fifos */
! int rtapi_fifo_new(int key, unsigned long int size,
! rtapi_fifo_handle * fifoptr)
{
return RTAPI_UNSUP;
}
! int rtapi_fifo_delete(rtapi_fifo_handle fifo)
{
return RTAPI_UNSUP;
}
! int rtapi_fifo_read(rtapi_fifo_handle fifo, char *buf, unsigned long int size)
{
return RTAPI_UNSUP;
}
! int rtapi_fifo_write(rtapi_fifo_handle fifo,
! char *buf, unsigned long int size)
{
return RTAPI_UNS...
[truncated message content] |
|
From: <pa...@us...> - 2003-08-09 19:35:31
|
Update of /cvsroot/emc/rtapi/examples/fifo
In directory sc8-pr-cvs1:/tmp/cvs-serv30095
Modified Files:
fifotask.c
Log Message:
Started using rtapi_print_dbg
Index: fifotask.c
===================================================================
RCS file: /cvsroot/emc/rtapi/examples/fifo/fifotask.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** fifotask.c 5 Aug 2003 03:51:00 -0000 1.8
--- fifotask.c 9 Aug 2003 19:35:28 -0000 1.9
***************
*** 11,15 ****
static rtapi_task_handle fifo_task = 0; /* the task structure */
static rtapi_fifo_handle fifo;
! enum { TIMER_PERIOD_NSEC = 10000000 }; /* timer period, in nanoseconds */
enum { FIFO_PERIOD_NSEC = 1000000000 }; /* timer period, in nanoseconds */
enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */
--- 11,15 ----
static rtapi_task_handle fifo_task = 0; /* the task structure */
static rtapi_fifo_handle fifo;
! enum { TIMER_PERIOD_NSEC = 10000000 }; /* timer period, in nanoseconds */
enum { FIFO_PERIOD_NSEC = 1000000000 }; /* timer period, in nanoseconds */
enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */
***************
*** 29,33 ****
rtapi_fifo_write(fifo, buffer, count);
buffer[n] = '\0';
! rtapi_print("fifotask: wrote '%s'\n", buffer);
count++;
if (count > 9)
--- 29,33 ----
rtapi_fifo_write(fifo, buffer, count);
buffer[n] = '\0';
! rtapi_print_dbg(4, "fifotask: wrote '%s'\n", buffer);
count++;
if (count > 9)
***************
*** 39,42 ****
--- 39,43 ----
}
+
/* part of the Linux kernel module that kicks off the fifo task */
int rtapi_app_main(void)
***************
*** 48,53 ****
retval = rtapi_fifo_new(FIFO_KEY, FIFO_SIZE, &fifo);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_fifo_new returned %d\n", retval);
! return -1;
}
--- 49,54 ----
retval = rtapi_fifo_new(FIFO_KEY, FIFO_SIZE, &fifo);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_fifo_new failed with %d\n", retval);
! goto no_fifo;
}
***************
*** 55,60 ****
retval = rtapi_clock_set_period(TIMER_PERIOD_NSEC);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_clock_set_period returned %d\n", retval);
! return -1;
}
--- 56,62 ----
retval = rtapi_clock_set_period(TIMER_PERIOD_NSEC);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_clock_set_period failed with %d\n",
! retval);
! goto no_task;
}
***************
*** 65,70 ****
retval = rtapi_task_new(&fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_task_new returned %d\n", retval);
! return -1;
}
--- 67,72 ----
retval = rtapi_task_new(&fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_task_new failed with %d\n", retval);
! goto no_task;
}
***************
*** 74,79 ****
FIFO_STACKSIZE, FIFO_PERIOD_NSEC, RTAPI_NO_FP);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_task_start returned %d\n", retval);
! return -1;
}
--- 76,81 ----
FIFO_STACKSIZE, FIFO_PERIOD_NSEC, RTAPI_NO_FP);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_task_start failed with %d\n", retval);
! goto no_start;
}
***************
*** 81,84 ****
--- 83,94 ----
return 0;
+
+ /* clean up after failures so that the rtapi can be removed cleanly */
+ no_start:
+ rtapi_task_delete(fifo_task);
+ no_task:
+ rtapi_fifo_delete(fifo);
+ no_fifo:
+ return retval;
}
***************
*** 90,106 ****
retval = rtapi_task_stop(fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_task_stop returned %d\n", retval);
! return;
}
retval = rtapi_task_delete(fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_task_delete returned %d\n", retval);
! return;
}
retval = rtapi_fifo_delete(fifo);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_fifo_delete returned %d\n", retval);
! return;
}
--- 100,114 ----
retval = rtapi_task_stop(fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_task_stop failed with %d\n", retval);
}
+
retval = rtapi_task_delete(fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_task_delete failed with %d\n", retval);
}
retval = rtapi_fifo_delete(fifo);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_fifo_delete failed with %d\n", retval);
}
|
|
From: <wsh...@us...> - 2003-08-08 17:31:04
|
Update of /cvsroot/emc/rcslib
In directory sc8-pr-cvs1:/tmp/cvs-serv32172
Modified Files:
Tag: wps_multiplat_dev_branch
Makefile.am Makefile.in
Log Message:
Remove omac.hh
Index: Makefile.am
===================================================================
RCS file: /cvsroot/emc/rcslib/Makefile.am,v
retrieving revision 1.7.2.2
retrieving revision 1.7.2.3
diff -C2 -d -r1.7.2.2 -r1.7.2.3
*** Makefile.am 8 Aug 2003 16:38:58 -0000 1.7.2.2
--- Makefile.am 8 Aug 2003 17:31:01 -0000 1.7.2.3
***************
*** 722,726 ****
src/cms/udpmem.hh\
src/cms/xdr_msg.hh\
- src/cms/omac.hh\
src/cms/httpnml.hh\
src/node/cmd_msg.hh\
--- 722,725 ----
Index: Makefile.in
===================================================================
RCS file: /cvsroot/emc/rcslib/Makefile.in,v
retrieving revision 1.7.2.2
retrieving revision 1.7.2.3
diff -C2 -d -r1.7.2.2 -r1.7.2.3
*** Makefile.in 8 Aug 2003 16:38:58 -0000 1.7.2.2
--- Makefile.in 8 Aug 2003 17:31:01 -0000 1.7.2.3
***************
*** 815,819 ****
src/cms/udpmem.hh\
src/cms/xdr_msg.hh\
- src/cms/omac.hh\
src/cms/httpnml.hh\
src/node/cmd_msg.hh\
--- 815,818 ----
|
|
From: <wsh...@us...> - 2003-08-08 16:39:02
|
Update of /cvsroot/emc/rcslib
In directory sc8-pr-cvs1:/tmp/cvs-serv23060
Modified Files:
Tag: wps_multiplat_dev_branch
Makefile.am Makefile.in configure rcs_config.h.in
Log Message:
Remove w3c stuff
Index: Makefile.am
===================================================================
RCS file: /cvsroot/emc/rcslib/Makefile.am,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -C2 -d -r1.7.2.1 -r1.7.2.2
*** Makefile.am 8 Aug 2003 14:21:04 -0000 1.7.2.1
--- Makefile.am 8 Aug 2003 16:38:58 -0000 1.7.2.2
***************
*** 575,580 ****
src/stg_clss/Makefile.lib\
src/test/Makefile\
- src/w3c/Makefile\
- src/w3c/Makefile.lib\
src/java/test.nml\
src/test/cgtest.nml\
--- 575,578 ----
***************
*** 671,804 ****
src/posemath/posemath.h\
src/posemath/sincos.h\
- src/w3c/HTAABrow.h\
- src/w3c/HTAAUtil.h\
- src/w3c/HTANSI.h\
- src/w3c/HTAccess.h\
- src/w3c/HTAlert.h\
- src/w3c/HTAncMan.h\
- src/w3c/HTAnchor.h\
- src/w3c/HTArray.h\
- src/w3c/HTAssoc.h\
- src/w3c/HTAtom.h\
- src/w3c/HTBInit.h\
- src/w3c/HTBTree.h\
- src/w3c/HTBind.h\
- src/w3c/HTBound.h\
- src/w3c/HTBufWrt.h\
- src/w3c/HTCache.h\
- src/w3c/HTChannl.h\
- src/w3c/HTChunk.h\
- src/w3c/HTConLen.h\
- src/w3c/HTDNS.h\
- src/w3c/HTDescpt.h\
- src/w3c/HTDialog.h\
- src/w3c/HTDir.h\
- src/w3c/HTEPtoCl.h\
- src/w3c/HTError.h\
- src/w3c/HTEscape.h\
- src/w3c/HTEvent.h\
- src/w3c/HTEvntrg.h\
- src/w3c/HTFTP.h\
- src/w3c/HTFTPDir.h\
- src/w3c/HTFWrite.h\
- src/w3c/HTFile.h\
- src/w3c/HTFilter.h\
- src/w3c/HTFormat.h\
- src/w3c/HTGopher.h\
- src/w3c/HTGuess.h\
- src/w3c/HTHInit.h\
- src/w3c/HTHeader.h\
- src/w3c/HTHist.h\
- src/w3c/HTHome.h\
- src/w3c/HTHost.h\
- src/w3c/HTIOStream.h\
- src/w3c/HTIcons.h\
- src/w3c/HTInet.h\
- src/w3c/HTInit.h\
- src/w3c/HTLib.h\
- src/w3c/HTLink.h\
- src/w3c/HTList.h\
- src/w3c/HTLocal.h\
- src/w3c/HTLog.h\
- src/w3c/HTMIME.h\
- src/w3c/HTMIMERq.h\
- src/w3c/HTMIMImp.h\
- src/w3c/HTMIMPrs.h\
- src/w3c/HTML.h\
- src/w3c/HTMLGen.h\
- src/w3c/HTMLPDTD.h\
- src/w3c/HTMemory.h\
- src/w3c/HTMerge.h\
- src/w3c/HTMethod.h\
- src/w3c/HTMulpar.h\
- src/w3c/HTMulti.h\
- src/w3c/HTMux.h\
- src/w3c/HTNDir.h\
- src/w3c/HTNet.h\
- src/w3c/HTNetMan.h\
- src/w3c/HTNetTxt.h\
- src/w3c/HTNews.h\
- src/w3c/HTNewsLs.h\
- src/w3c/HTNewsRq.h\
- src/w3c/HTPEP.h\
- src/w3c/HTParse.h\
- src/w3c/HTPlain.h\
- src/w3c/HTProfil.h\
- src/w3c/HTProt.h\
- src/w3c/HTProxy.h\
- src/w3c/HTReader.h\
- src/w3c/HTReq.h\
- src/w3c/HTReqMan.h\
- src/w3c/HTResMan.h\
- src/w3c/HTResponse.h\
- src/w3c/HTRules.h\
- src/w3c/HTSChunk.h\
- src/w3c/HTSocket.h\
- src/w3c/HTStream.h\
- src/w3c/HTString.h\
- src/w3c/HTStruct.h\
- src/w3c/HTStyle.h\
- src/w3c/HTTCP.h\
- src/w3c/HTTChunk.h\
- src/w3c/HTTP.h\
- src/w3c/HTTPGen.h\
- src/w3c/HTTPReq.h\
- src/w3c/HTTPRes.h\
- src/w3c/HTTPServ.h\
- src/w3c/HTTPUtil.h\
- src/w3c/HTTeXGen.h\
- src/w3c/HTTee.h\
- src/w3c/HTTelnet.h\
- src/w3c/HTTrans.h\
- src/w3c/HTUTree.h\
- src/w3c/HTUU.h\
- src/w3c/HTUser.h\
- src/w3c/HTUtils.h\
- src/w3c/HTWSRC.h\
- src/w3c/HTWWWStr.h\
- src/w3c/HTWriter.h\
- src/w3c/HTXParse.h\
- src/w3c/HText.h\
- src/w3c/SGML.h\
- src/w3c/WWWApp.h\
- src/w3c/WWWCache.h\
- src/w3c/WWWCore.h\
- src/w3c/WWWDir.h\
- src/w3c/WWWFTP.h\
- src/w3c/WWWFile.h\
- src/w3c/WWWGophe.h\
- src/w3c/WWWHTML.h\
- src/w3c/WWWHTTP.h\
- src/w3c/WWWInit.h\
- src/w3c/WWWLib.h\
- src/w3c/WWWMIME.h\
- src/w3c/WWWNews.h\
- src/w3c/WWWStream.h\
- src/w3c/WWWTelnt.h\
- src/w3c/WWWTrans.h\
- src/w3c/WWWUtil.h\
- src/w3c/WWWWAIS.h\
- src/w3c/sysdep.h\
- src/w3c/w3cconf.h\
src/rcs.hh\
src/rcs_defs.hh\
--- 669,672 ----
Index: Makefile.in
===================================================================
RCS file: /cvsroot/emc/rcslib/Makefile.in,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -C2 -d -r1.7.2.1 -r1.7.2.2
*** Makefile.in 8 Aug 2003 14:21:04 -0000 1.7.2.1
--- Makefile.in 8 Aug 2003 16:38:58 -0000 1.7.2.2
***************
*** 667,672 ****
src/stg_clss/Makefile.lib\
src/test/Makefile\
- src/w3c/Makefile\
- src/w3c/Makefile.lib\
src/java/test.nml\
src/test/cgtest.nml\
--- 667,670 ----
***************
*** 764,897 ****
src/posemath/posemath.h\
src/posemath/sincos.h\
- src/w3c/HTAABrow.h\
- src/w3c/HTAAUtil.h\
- src/w3c/HTANSI.h\
- src/w3c/HTAccess.h\
- src/w3c/HTAlert.h\
- src/w3c/HTAncMan.h\
- src/w3c/HTAnchor.h\
- src/w3c/HTArray.h\
- src/w3c/HTAssoc.h\
- src/w3c/HTAtom.h\
- src/w3c/HTBInit.h\
- src/w3c/HTBTree.h\
- src/w3c/HTBind.h\
- src/w3c/HTBound.h\
- src/w3c/HTBufWrt.h\
- src/w3c/HTCache.h\
- src/w3c/HTChannl.h\
- src/w3c/HTChunk.h\
- src/w3c/HTConLen.h\
- src/w3c/HTDNS.h\
- src/w3c/HTDescpt.h\
- src/w3c/HTDialog.h\
- src/w3c/HTDir.h\
- src/w3c/HTEPtoCl.h\
- src/w3c/HTError.h\
- src/w3c/HTEscape.h\
- src/w3c/HTEvent.h\
- src/w3c/HTEvntrg.h\
- src/w3c/HTFTP.h\
- src/w3c/HTFTPDir.h\
- src/w3c/HTFWrite.h\
- src/w3c/HTFile.h\
- src/w3c/HTFilter.h\
- src/w3c/HTFormat.h\
- src/w3c/HTGopher.h\
- src/w3c/HTGuess.h\
- src/w3c/HTHInit.h\
- src/w3c/HTHeader.h\
- src/w3c/HTHist.h\
- src/w3c/HTHome.h\
- src/w3c/HTHost.h\
- src/w3c/HTIOStream.h\
- src/w3c/HTIcons.h\
- src/w3c/HTInet.h\
- src/w3c/HTInit.h\
- src/w3c/HTLib.h\
- src/w3c/HTLink.h\
- src/w3c/HTList.h\
- src/w3c/HTLocal.h\
- src/w3c/HTLog.h\
- src/w3c/HTMIME.h\
- src/w3c/HTMIMERq.h\
- src/w3c/HTMIMImp.h\
- src/w3c/HTMIMPrs.h\
- src/w3c/HTML.h\
- src/w3c/HTMLGen.h\
- src/w3c/HTMLPDTD.h\
- src/w3c/HTMemory.h\
- src/w3c/HTMerge.h\
- src/w3c/HTMethod.h\
- src/w3c/HTMulpar.h\
- src/w3c/HTMulti.h\
- src/w3c/HTMux.h\
- src/w3c/HTNDir.h\
- src/w3c/HTNet.h\
- src/w3c/HTNetMan.h\
- src/w3c/HTNetTxt.h\
- src/w3c/HTNews.h\
- src/w3c/HTNewsLs.h\
- src/w3c/HTNewsRq.h\
- src/w3c/HTPEP.h\
- src/w3c/HTParse.h\
- src/w3c/HTPlain.h\
- src/w3c/HTProfil.h\
- src/w3c/HTProt.h\
- src/w3c/HTProxy.h\
- src/w3c/HTReader.h\
- src/w3c/HTReq.h\
- src/w3c/HTReqMan.h\
- src/w3c/HTResMan.h\
- src/w3c/HTResponse.h\
- src/w3c/HTRules.h\
- src/w3c/HTSChunk.h\
- src/w3c/HTSocket.h\
- src/w3c/HTStream.h\
- src/w3c/HTString.h\
- src/w3c/HTStruct.h\
- src/w3c/HTStyle.h\
- src/w3c/HTTCP.h\
- src/w3c/HTTChunk.h\
- src/w3c/HTTP.h\
- src/w3c/HTTPGen.h\
- src/w3c/HTTPReq.h\
- src/w3c/HTTPRes.h\
- src/w3c/HTTPServ.h\
- src/w3c/HTTPUtil.h\
- src/w3c/HTTeXGen.h\
- src/w3c/HTTee.h\
- src/w3c/HTTelnet.h\
- src/w3c/HTTrans.h\
- src/w3c/HTUTree.h\
- src/w3c/HTUU.h\
- src/w3c/HTUser.h\
- src/w3c/HTUtils.h\
- src/w3c/HTWSRC.h\
- src/w3c/HTWWWStr.h\
- src/w3c/HTWriter.h\
- src/w3c/HTXParse.h\
- src/w3c/HText.h\
- src/w3c/SGML.h\
- src/w3c/WWWApp.h\
- src/w3c/WWWCache.h\
- src/w3c/WWWCore.h\
- src/w3c/WWWDir.h\
- src/w3c/WWWFTP.h\
- src/w3c/WWWFile.h\
- src/w3c/WWWGophe.h\
- src/w3c/WWWHTML.h\
- src/w3c/WWWHTTP.h\
- src/w3c/WWWInit.h\
- src/w3c/WWWLib.h\
- src/w3c/WWWMIME.h\
- src/w3c/WWWNews.h\
- src/w3c/WWWStream.h\
- src/w3c/WWWTelnt.h\
- src/w3c/WWWTrans.h\
- src/w3c/WWWUtil.h\
- src/w3c/WWWWAIS.h\
- src/w3c/sysdep.h\
- src/w3c/w3cconf.h\
src/rcs.hh\
src/rcs_defs.hh\
--- 762,765 ----
***************
*** 5890,5894 ****
$(am__remove_distdir)
mkdir $(distdir)
! $(mkinstalldirs) $(distdir)/etc $(distdir)/src $(distdir)/src/ce_miss $(distdir)/src/cms $(distdir)/src/java $(distdir)/src/java/diagapplet $(distdir)/src/java/diagapplet/CodeGen $(distdir)/src/java/diagapplet/plotter $(distdir)/src/java/diagapplet/utils $(distdir)/src/java/rcs $(distdir)/src/java/rcs/nml $(distdir)/src/java/rcs/posemath $(distdir)/src/java/rcs/utils $(distdir)/src/java/rcsdesign $(distdir)/src/java/ste $(distdir)/src/node $(distdir)/src/nt_xdr $(distdir)/src/os_intf $(distdir)/src/pcio $(distdir)/src/pmac $(distdir)/src/posemath $(distdir)/src/print $(distdir)/src/stg_clss $(distdir)/src/test $(distdir)/src/w3c
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
--- 5758,5762 ----
$(am__remove_distdir)
mkdir $(distdir)
! $(mkinstalldirs) $(distdir)/etc $(distdir)/src $(distdir)/src/ce_miss $(distdir)/src/cms $(distdir)/src/java $(distdir)/src/java/diagapplet $(distdir)/src/java/diagapplet/CodeGen $(distdir)/src/java/diagapplet/plotter $(distdir)/src/java/diagapplet/utils $(distdir)/src/java/rcs $(distdir)/src/java/rcs/nml $(distdir)/src/java/rcs/posemath $(distdir)/src/java/rcs/utils $(distdir)/src/java/rcsdesign $(distdir)/src/java/ste $(distdir)/src/node $(distdir)/src/nt_xdr $(distdir)/src/os_intf $(distdir)/src/pcio $(distdir)/src/pmac $(distdir)/src/posemath $(distdir)/src/print $(distdir)/src/stg_clss $(distdir)/src/test
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
Index: configure
===================================================================
RCS file: /cvsroot/emc/rcslib/configure,v
retrieving revision 1.3.2.1
retrieving revision 1.3.2.2
diff -C2 -d -r1.3.2.1 -r1.3.2.2
*** configure 8 Aug 2003 14:21:06 -0000 1.3.2.1
--- configure 8 Aug 2003 16:38:59 -0000 1.3.2.2
***************
*** 1019,1022 ****
--- 1019,1023 ----
--enable-shmem Add shared memory support to CMS (default=yes)
--enable-filemem Add filemem support to CMS (default=no)
+ --enable-rtlmem Add rtlmem support to CMS (default=no)
--enable-locmem Add locmem support to CMS (default=no)
--enable-phantom Add phantom support to CMS (default=no)
***************
*** 2001,2004 ****
--- 2002,2015 ----
+ # Check whether --enable-rtlmem or --disable-rtlmem was given.
+ if test "${enable_rtlmem+set}" = set; then
+ enableval="$enable_rtlmem"
+ enable_rtlmem=$enableval;
+ { echo "$as_me:$LINENO: enable_rtlmem=$enableval" >&5
+ echo "$as_me: enable_rtlmem=$enableval" >&6;}
+ else
+ enable_rtlmem=no
+ fi;
+
# Check whether --enable-locmem or --disable-locmem was given.
***************
*** 2225,2229 ****
if test "${enable_ALL+set}" = set; then
enableval="$enable_ALL"
! enable_nml_codegen=${enableval};enable_rcs_jar=${enableval};enable_codegen_jar=${enableval};enable_diagapplet_jar=${enableval};enable_filemem=${enableval};enable_xml=${enableval};enable_xdr=${enableval};enable_disp=${enableval};enable_diag=${enableval};enable_print=${enableval};enable_nmlqr=${enableval};enable_xsd2nmlh=${enableval};enable_locmem=${enableval};enable_phantom=${enableval};enable_shmem=${enableval};enable_stcp=${enableval};enable_tcp=${enableval};enable_udp=${enableval};enable_tty=${enableval};enable_crypt=${enableval};enable_http=${enableval};enable_posemath_in_rcslib=${enableval};enable_nmlmod_in_rcslib=${enableval};enable_server=${enableval};enable_sokintrf=${enable_val}
fi;
--- 2236,2240 ----
if test "${enable_ALL+set}" = set; then
enableval="$enable_ALL"
! enable_nml_codegen=${enableval};enable_rcs_jar=${enableval};enable_codegen_jar=${enableval};enable_diagapplet_jar=${enableval};enable_filemem=${enableval};enable_xml=${enableval};enable_xdr=${enableval};enable_disp=${enableval};enable_diag=${enableval};enable_print=${enableval};enable_nmlqr=${enableval};enable_xsd2nmlh=${enableval};enable_locmem=${enableval};enable_phantom=${enableval};enable_shmem=${enableval};enable_stcp=${enableval};enable_tcp=${enableval};enable_udp=${enableval};enable_tty=${enableval};enable_crypt=${enableval};enable_http=${enableval};enable_posemath_in_rcslib=${enableval};enable_nmlmod_in_rcslib=${enableval};enable_server=${enableval};enable_sokintrf=${enable_val};enable_rtlmem=${enableval}
fi;
***************
*** 5205,5209 ****
*-*-irix6*)
# Find out which ABI we are using.
! echo '#line 5207 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
--- 5216,5220 ----
*-*-irix6*)
# Find out which ABI we are using.
! echo '#line 5218 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
***************
*** 5741,5745 ****
CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
compiler_c_o=no
! if { (eval echo configure:5743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
--- 5752,5756 ----
CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
compiler_c_o=no
! if { (eval echo configure:5754: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
***************
*** 7534,7538 ****
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
! #line 7536 "configure"
#include "confdefs.h"
--- 7545,7549 ----
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
! #line 7547 "configure"
#include "confdefs.h"
***************
*** 7632,7636 ****
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
! #line 7634 "configure"
#include "confdefs.h"
--- 7643,7647 ----
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
! #line 7645 "configure"
#include "confdefs.h"
***************
*** 8653,8659 ****
{ echo "$as_me:$LINENO: CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}" >&5
echo "$as_me: CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}" >&6;};
! LTLIBOBJS="${LTLIBOBJS} rtlnml.lo rtlmem.lo rtlinux_user_api_implement.lo"
! { echo "$as_me:$LINENO: LTLIBOBJS=${LTLIBOBJS}" >&5
echo "$as_me: LTLIBOBJS=${LTLIBOBJS}" >&6;}
else
--- 8664,8675 ----
{ echo "$as_me:$LINENO: CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}" >&5
echo "$as_me: CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}" >&6;};
! if test "x${enable_rtlmem}" = "xyes" ; then
! LTLIBOBJS="${LTLIBOBJS} rtlnml.lo rtlmem.lo rtlinux_user_api_implement.lo"
! { echo "$as_me:$LINENO: LTLIBOBJS=${LTLIBOBJS}" >&5
echo "$as_me: LTLIBOBJS=${LTLIBOBJS}" >&6;}
+ CPPFLAGS="${CPPFLAGS} -DCMS_USE_RTLMEM"
+ { echo "$as_me:$LINENO: CPPFLAGS : ${CPPFLAGS}" >&5
+ echo "$as_me: CPPFLAGS : ${CPPFLAGS}" >&6;}
+ fi
else
***************
*** 8810,8817 ****
{ echo "$as_me:$LINENO: CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}" >&5
echo "$as_me: CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}" >&6;};
! LTLIBOBJS="${LTLIBOBJS} rtlnml.lo rtlmem.lo rtai_user_api_implement.lo"
! { echo "$as_me:$LINENO: LTLIBOBJS=${LTLIBOBJS}" >&5
! echo "$as_me: LTLIBOBJS=${LTLIBOBJS}" >&6;}
fi
--- 8826,8838 ----
{ echo "$as_me:$LINENO: CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}" >&5
echo "$as_me: CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}" >&6;};
! if test "x${enable_rtlmem}" = "xyes" ; then
+ LTLIBOBJS="${LTLIBOBJS} rtlnml.lo rtlmem.lo rtai_user_api_implement.lo"
+ { echo "$as_me:$LINENO: LTLIBOBJS=${LTLIBOBJS}" >&5
+ echo "$as_me: LTLIBOBJS=${LTLIBOBJS}" >&6;}
+ CPPFLAGS="${CPPFLAGS} -DCMS_USE_RTLMEM"
+ { echo "$as_me:$LINENO: CPPFLAGS : ${CPPFLAGS}" >&5
+ echo "$as_me: CPPFLAGS : ${CPPFLAGS}" >&6;}
+ fi
fi
Index: rcs_config.h.in
===================================================================
RCS file: /cvsroot/emc/rcslib/rcs_config.h.in,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** rcs_config.h.in 8 Aug 2003 14:21:06 -0000 1.1.2.1
--- rcs_config.h.in 8 Aug 2003 16:38:59 -0000 1.1.2.2
***************
*** 4,14 ****
#undef BUILD_PLATFORM
- /* Define to the type of elements in the array set by `getgroups'. Usually
- this is either `int' or `gid_t'. */
- #undef GETGROUPS_T
-
- /* Define to 1 if you have the `alarm' function. */
- #undef HAVE_ALARM
-
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
--- 4,7 ----
***************
*** 32,38 ****
#undef HAVE_DLFCN_H
- /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
- #undef HAVE_DOPRNT
-
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
--- 25,28 ----
***************
*** 44,50 ****
#undef HAVE_FLOOR
- /* Define to 1 if you have the `fork' function. */
- #undef HAVE_FORK
-
/* Define to 1 if you have the `fstat' function. */
#undef HAVE_FSTAT
--- 34,37 ----
***************
*** 53,59 ****
#undef HAVE_GETCWD
- /* Define to 1 if your system has a working `getgroups' function. */
- #undef HAVE_GETGROUPS
-
/* Define to 1 if you have the `gethostbyaddr' function. */
#undef HAVE_GETHOSTBYADDR
--- 40,43 ----
***************
*** 65,71 ****
#undef HAVE_GETHOSTNAME
- /* Define to 1 if you have the `getpagesize' function. */
- #undef HAVE_GETPAGESIZE
-
/* Define to 1 if you have the `getpass' function. */
#undef HAVE_GETPASS
--- 49,52 ----
***************
*** 95,105 ****
#undef HAVE_LOCALTIME_R
- /* Define to 1 if `lstat' has the bug that it succeeds when given the
- zero-length file name argument. */
- #undef HAVE_LSTAT_EMPTY_STRING_BUG
-
- /* Define to 1 if your system has a working `malloc' function. */
- #undef HAVE_MALLOC
-
/* Define to 1 if you have the <math.h> header file. */
#undef HAVE_MATH_H
--- 76,79 ----
***************
*** 114,120 ****
#undef HAVE_MEMSET
- /* Define to 1 if you have a working `mmap' system call. */
- #undef HAVE_MMAP
-
/* define if the compiler implements namespaces */
#undef HAVE_NAMESPACES
--- 88,91 ----
***************
*** 177,184 ****
#undef HAVE_STANDARDS_H
- /* Define to 1 if `stat' has the bug that it succeeds when given the
- zero-length file name argument. */
- #undef HAVE_STAT_EMPTY_STRING_BUG
-
/* define if the compiler supports ISO C++ standard library */
#undef HAVE_STD
--- 148,151 ----
***************
*** 202,208 ****
#undef HAVE_STRERROR
- /* Define to 1 if you have the `strftime' function. */
- #undef HAVE_STRFTIME
-
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
--- 169,172 ----
***************
*** 315,337 ****
#undef HAVE_USLEEP
- /* Define to 1 if you have the `vfork' function. */
- #undef HAVE_VFORK
-
- /* Define to 1 if you have the <vfork.h> header file. */
- #undef HAVE_VFORK_H
-
- /* Define to 1 if you have the `vprintf' function. */
- #undef HAVE_VPRINTF
-
- /* Define to 1 if `fork' works. */
- #undef HAVE_WORKING_FORK
-
- /* Define to 1 if `vfork' works. */
- #undef HAVE_WORKING_VFORK
-
- /* Define to 1 if `lstat' dereferences a symlink specified with a trailing
- slash. */
- #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
-
/* if no thread system is available */
#undef NO_THREADS
--- 279,282 ----
***************
*** 370,376 ****
#undef POSIX_THREADS
- /* Define as the return type of signal handlers (`int' or `void'). */
- #undef RETSIGTYPE
-
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
--- 315,318 ----
***************
*** 421,425 ****
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
-
- /* Define as `fork' if `vfork' does not work. */
- #undef vfork
--- 363,364 ----
|
|
From: <wsh...@us...> - 2003-08-08 15:18:34
|
Update of /cvsroot/emc/rcslib
In directory sc8-pr-cvs1:/tmp/cvs-serv10345
Modified Files:
Tag: wps_multiplat_dev_branch
buildrcs
Log Message:
use a csh way of checking to see if we want to do things the old way
Index: buildrcs
===================================================================
RCS file: /cvsroot/emc/rcslib/buildrcs,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -C2 -d -r1.7.2.1 -r1.7.2.2
*** buildrcs 8 Aug 2003 15:08:46 -0000 1.7.2.1
--- buildrcs 8 Aug 2003 15:18:31 -0000 1.7.2.2
***************
*** 1,8 ****
#!/bin/csh -f
! if test "x${USE_OLD_RCSLIB_MAKEFILES}" = "x" ; then
etc/multiplatbuild.sh
exit 0
! fi
--- 1,8 ----
#!/bin/csh -f
! if ( ! -f ~/USE_OLD_RCSLIB_MAKEFILES ) then
etc/multiplatbuild.sh
exit 0
! endif
|
Update of /cvsroot/emc/rcslib/src/w3c
In directory sc8-pr-cvs1:/tmp/cvs-serv9623
Removed Files:
Tag: wps_multiplat_dev_branch
GridText.c HTAABrow.c HTAABrow.h HTAAUtil.c HTAAUtil.h
HTANSI.c HTANSI.h HTAccess.c HTAccess.h HTAlert.c HTAlert.h
HTAncMan.h HTAnchor.c HTAnchor.h HTArray.c HTArray.h HTAssoc.c
HTAssoc.h HTAtom.c HTAtom.h HTBInit.c HTBInit.h HTBTree.c
HTBTree.h HTBind.c HTBind.h HTBound.c HTBound.h HTBufWrt.c
HTBufWrt.h HTCache.c HTCache.h HTChannl.c HTChannl.h HTChunk.c
HTChunk.h HTConLen.c HTConLen.h HTDNS.c HTDNS.h HTDescpt.c
HTDescpt.h HTDialog.c HTDialog.h HTDir.c HTDir.h HTEPtoCl.c
HTEPtoCl.h HTError.c HTError.h HTEscape.c HTEscape.h HTEvent.c
HTEvent.h HTEvntrg.c HTEvntrg.h HTFTP.c HTFTP.h HTFTPDir.c
HTFTPDir.h HTFWrite.c HTFWrite.h HTFile.c HTFile.h HTFilter.c
HTFilter.h HTFormat.c HTFormat.h HTGopher.c HTGopher.h
HTGuess.c HTGuess.h HTHInit.c HTHInit.h HTHeader.c HTHeader.h
HTHist.c HTHist.h HTHome.c HTHome.h HTHost.c HTHost.h
HTIOStream.h HTIcons.c HTIcons.h HTInet.c HTInet.h HTInit.c
HTInit.h HTLib.c HTLib.h HTLink.c HTLink.h HTList.c HTList.h
HTLocal.c HTLocal.h HTLog.c HTLog.h HTMIME.c HTMIME.h
HTMIMERq.c HTMIMERq.h HTMIMImp.c HTMIMImp.h HTMIMPrs.c
HTMIMPrs.h HTML.c HTML.h HTMLGen.c HTMLGen.h HTMLPDTD.c
HTMLPDTD.h HTMemory.c HTMemory.h HTMerge.c HTMerge.h
HTMethod.c HTMethod.h HTMulpar.h HTMulti.c HTMulti.h HTMux.c
HTMux.h HTNDir.c HTNDir.h HTNet.c HTNet.h HTNetMan.h
HTNetTxt.c HTNetTxt.h HTNews.c HTNews.h HTNewsLs.c HTNewsLs.h
HTNewsRq.c HTNewsRq.h HTPEP.c HTPEP.h HTParse.c HTParse.h
HTPlain.c HTPlain.h HTProfil.c HTProfil.h HTProt.c HTProt.h
HTProxy.c HTProxy.h HTReader.c HTReader.h HTReq.h HTReqMan.c
HTReqMan.h HTResMan.h HTResponse.c HTResponse.h HTRules.c
HTRules.h HTSChunk.c HTSChunk.h HTSocket.c HTSocket.h
HTStream.c HTStream.h HTString.c HTString.h HTStruct.h
HTStyle.c HTStyle.h HTTCP.c HTTCP.h HTTChunk.c HTTChunk.h
HTTP.c HTTP.h HTTPGen.c HTTPGen.h HTTPReq.c HTTPReq.h
HTTPRes.c HTTPRes.h HTTPServ.c HTTPServ.h HTTPUtil.h
HTTeXGen.c HTTeXGen.h HTTee.c HTTee.h HTTelnet.c HTTelnet.h
HTTrans.c HTTrans.h HTUTree.c HTUTree.h HTUU.c HTUU.h HTUser.c
HTUser.h HTUtils.h HTWAIS.c HTWSRC.c HTWSRC.h HTWWWStr.c
HTWWWStr.h HTWriter.c HTWriter.h HTXParse.c HTXParse.h HText.c
HText.h Makefile Makefile.lib SGML.c SGML.h WWWApp.h
WWWCache.h WWWCore.h WWWDir.h WWWFTP.h WWWFile.h WWWGophe.h
WWWHTML.h WWWHTTP.h WWWInit.h WWWLib.h WWWMIME.h WWWNews.h
WWWStream.h WWWTelnt.h WWWTrans.h WWWUtil.h WWWWAIS.h catwww.c
sysdep.h w3cconf.h
Log Message:
--- GridText.c DELETED ---
--- HTAABrow.c DELETED ---
--- HTAABrow.h DELETED ---
--- HTAAUtil.c DELETED ---
--- HTAAUtil.h DELETED ---
--- HTANSI.c DELETED ---
--- HTANSI.h DELETED ---
--- HTAccess.c DELETED ---
--- HTAccess.h DELETED ---
--- HTAlert.c DELETED ---
--- HTAlert.h DELETED ---
--- HTAncMan.h DELETED ---
--- HTAnchor.c DELETED ---
--- HTAnchor.h DELETED ---
--- HTArray.c DELETED ---
--- HTArray.h DELETED ---
--- HTAssoc.c DELETED ---
--- HTAssoc.h DELETED ---
--- HTAtom.c DELETED ---
--- HTAtom.h DELETED ---
--- HTBInit.c DELETED ---
--- HTBInit.h DELETED ---
--- HTBTree.c DELETED ---
--- HTBTree.h DELETED ---
--- HTBind.c DELETED ---
--- HTBind.h DELETED ---
--- HTBound.c DELETED ---
--- HTBound.h DELETED ---
--- HTBufWrt.c DELETED ---
--- HTBufWrt.h DELETED ---
--- HTCache.c DELETED ---
--- HTCache.h DELETED ---
--- HTChannl.c DELETED ---
--- HTChannl.h DELETED ---
--- HTChunk.c DELETED ---
--- HTChunk.h DELETED ---
--- HTConLen.c DELETED ---
--- HTConLen.h DELETED ---
--- HTDNS.c DELETED ---
--- HTDNS.h DELETED ---
--- HTDescpt.c DELETED ---
--- HTDescpt.h DELETED ---
--- HTDialog.c DELETED ---
--- HTDialog.h DELETED ---
--- HTDir.c DELETED ---
--- HTDir.h DELETED ---
--- HTEPtoCl.c DELETED ---
--- HTEPtoCl.h DELETED ---
--- HTError.c DELETED ---
--- HTError.h DELETED ---
--- HTEscape.c DELETED ---
--- HTEscape.h DELETED ---
--- HTEvent.c DELETED ---
--- HTEvent.h DELETED ---
--- HTEvntrg.c DELETED ---
--- HTEvntrg.h DELETED ---
--- HTFTP.c DELETED ---
--- HTFTP.h DELETED ---
--- HTFTPDir.c DELETED ---
--- HTFTPDir.h DELETED ---
--- HTFWrite.c DELETED ---
--- HTFWrite.h DELETED ---
--- HTFile.c DELETED ---
--- HTFile.h DELETED ---
--- HTFilter.c DELETED ---
--- HTFilter.h DELETED ---
--- HTFormat.c DELETED ---
--- HTFormat.h DELETED ---
--- HTGopher.c DELETED ---
--- HTGopher.h DELETED ---
--- HTGuess.c DELETED ---
--- HTGuess.h DELETED ---
--- HTHInit.c DELETED ---
--- HTHInit.h DELETED ---
--- HTHeader.c DELETED ---
--- HTHeader.h DELETED ---
--- HTHist.c DELETED ---
--- HTHist.h DELETED ---
--- HTHome.c DELETED ---
--- HTHome.h DELETED ---
--- HTHost.c DELETED ---
--- HTHost.h DELETED ---
--- HTIOStream.h DELETED ---
--- HTIcons.c DELETED ---
--- HTIcons.h DELETED ---
--- HTInet.c DELETED ---
--- HTInet.h DELETED ---
--- HTInit.c DELETED ---
--- HTInit.h DELETED ---
--- HTLib.c DELETED ---
--- HTLib.h DELETED ---
--- HTLink.c DELETED ---
--- HTLink.h DELETED ---
--- HTList.c DELETED ---
--- HTList.h DELETED ---
--- HTLocal.c DELETED ---
--- HTLocal.h DELETED ---
--- HTLog.c DELETED ---
--- HTLog.h DELETED ---
--- HTMIME.c DELETED ---
--- HTMIME.h DELETED ---
--- HTMIMERq.c DELETED ---
--- HTMIMERq.h DELETED ---
--- HTMIMImp.c DELETED ---
--- HTMIMImp.h DELETED ---
--- HTMIMPrs.c DELETED ---
--- HTMIMPrs.h DELETED ---
--- HTML.c DELETED ---
--- HTML.h DELETED ---
--- HTMLGen.c DELETED ---
--- HTMLGen.h DELETED ---
--- HTMLPDTD.c DELETED ---
--- HTMLPDTD.h DELETED ---
--- HTMemory.c DELETED ---
--- HTMemory.h DELETED ---
--- HTMerge.c DELETED ---
--- HTMerge.h DELETED ---
--- HTMethod.c DELETED ---
--- HTMethod.h DELETED ---
--- HTMulpar.h DELETED ---
--- HTMulti.c DELETED ---
--- HTMulti.h DELETED ---
--- HTMux.c DELETED ---
--- HTMux.h DELETED ---
--- HTNDir.c DELETED ---
--- HTNDir.h DELETED ---
--- HTNet.c DELETED ---
--- HTNet.h DELETED ---
--- HTNetMan.h DELETED ---
--- HTNetTxt.c DELETED ---
--- HTNetTxt.h DELETED ---
--- HTNews.c DELETED ---
--- HTNews.h DELETED ---
--- HTNewsLs.c DELETED ---
--- HTNewsLs.h DELETED ---
--- HTNewsRq.c DELETED ---
--- HTNewsRq.h DELETED ---
--- HTPEP.c DELETED ---
--- HTPEP.h DELETED ---
--- HTParse.c DELETED ---
--- HTParse.h DELETED ---
--- HTPlain.c DELETED ---
--- HTPlain.h DELETED ---
--- HTProfil.c DELETED ---
--- HTProfil.h DELETED ---
--- HTProt.c DELETED ---
--- HTProt.h DELETED ---
--- HTProxy.c DELETED ---
--- HTProxy.h DELETED ---
--- HTReader.c DELETED ---
--- HTReader.h DELETED ---
--- HTReq.h DELETED ---
--- HTReqMan.c DELETED ---
--- HTReqMan.h DELETED ---
--- HTResMan.h DELETED ---
--- HTResponse.c DELETED ---
--- HTResponse.h DELETED ---
--- HTRules.c DELETED ---
--- HTRules.h DELETED ---
--- HTSChunk.c DELETED ---
--- HTSChunk.h DELETED ---
--- HTSocket.c DELETED ---
--- HTSocket.h DELETED ---
--- HTStream.c DELETED ---
--- HTStream.h DELETED ---
--- HTString.c DELETED ---
--- HTString.h DELETED ---
--- HTStruct.h DELETED ---
--- HTStyle.c DELETED ---
--- HTStyle.h DELETED ---
--- HTTCP.c DELETED ---
--- HTTCP.h DELETED ---
--- HTTChunk.c DELETED ---
--- HTTChunk.h DELETED ---
--- HTTP.c DELETED ---
--- HTTP.h DELETED ---
--- HTTPGen.c DELETED ---
--- HTTPGen.h DELETED ---
--- HTTPReq.c DELETED ---
--- HTTPReq.h DELETED ---
--- HTTPRes.c DELETED ---
--- HTTPRes.h DELETED ---
--- HTTPServ.c DELETED ---
--- HTTPServ.h DELETED ---
--- HTTPUtil.h DELETED ---
--- HTTeXGen.c DELETED ---
--- HTTeXGen.h DELETED ---
--- HTTee.c DELETED ---
--- HTTee.h DELETED ---
--- HTTelnet.c DELETED ---
--- HTTelnet.h DELETED ---
--- HTTrans.c DELETED ---
--- HTTrans.h DELETED ---
--- HTUTree.c DELETED ---
--- HTUTree.h DELETED ---
--- HTUU.c DELETED ---
--- HTUU.h DELETED ---
--- HTUser.c DELETED ---
--- HTUser.h DELETED ---
--- HTUtils.h DELETED ---
--- HTWAIS.c DELETED ---
--- HTWSRC.c DELETED ---
--- HTWSRC.h DELETED ---
--- HTWWWStr.c DELETED ---
--- HTWWWStr.h DELETED ---
--- HTWriter.c DELETED ---
--- HTWriter.h DELETED ---
--- HTXParse.c DELETED ---
--- HTXParse.h DELETED ---
--- HText.c DELETED ---
--- HText.h DELETED ---
--- Makefile DELETED ---
--- Makefile.lib DELETED ---
--- SGML.c DELETED ---
--- SGML.h DELETED ---
--- WWWApp.h DELETED ---
--- WWWCache.h DELETED ---
--- WWWCore.h DELETED ---
--- WWWDir.h DELETED ---
--- WWWFTP.h DELETED ---
--- WWWFile.h DELETED ---
--- WWWGophe.h DELETED ---
--- WWWHTML.h DELETED ---
--- WWWHTTP.h DELETED ---
--- WWWInit.h DELETED ---
--- WWWLib.h DELETED ---
--- WWWMIME.h DELETED ---
--- WWWNews.h DELETED ---
--- WWWStream.h DELETED ---
--- WWWTelnt.h DELETED ---
--- WWWTrans.h DELETED ---
--- WWWUtil.h DELETED ---
--- WWWWAIS.h DELETED ---
--- catwww.c DELETED ---
--- sysdep.h DELETED ---
--- w3cconf.h DELETED ---
|
|
From: <wsh...@us...> - 2003-08-08 15:09:20
|
Update of /cvsroot/emc/rcslib/src
In directory sc8-pr-cvs1:/tmp/cvs-serv8893/src
Modified Files:
Tag: wps_multiplat_dev_branch
Makefile
Log Message:
Make every possible build method use etc/multiplatbuild.sh unless the environment variable USE_OLD_RCSLIB_MAKEFILES is set
Index: Makefile
===================================================================
RCS file: /cvsroot/emc/rcslib/src/Makefile,v
retrieving revision 4.79.2.1
retrieving revision 4.79.2.2
diff -C2 -d -r4.79.2.1 -r4.79.2.2
*** Makefile 8 Aug 2003 14:21:06 -0000 4.79.2.1
--- Makefile 8 Aug 2003 15:08:47 -0000 4.79.2.2
***************
*** 4,8 ****
../etc/multiplatbuild.sh
! .PHONY: all
else
--- 4,15 ----
../etc/multiplatbuild.sh
! config:
! ../etc/multiplatbuild.sh config $(CONFIG_ARGS)
!
! clean distclean check distcheck install:
! ../etc/multiplatbuild.sh config $@
!
! .PHONY: all config clean distclean check distcheck install
!
else
|
|
From: <wsh...@us...> - 2003-08-08 15:09:19
|
Update of /cvsroot/emc/rcslib/etc
In directory sc8-pr-cvs1:/tmp/cvs-serv8893/etc
Modified Files:
Tag: wps_multiplat_dev_branch
platname
Log Message:
Make every possible build method use etc/multiplatbuild.sh unless the environment variable USE_OLD_RCSLIB_MAKEFILES is set
Index: platname
===================================================================
RCS file: /cvsroot/emc/rcslib/etc/platname,v
retrieving revision 1.32.2.1
retrieving revision 1.32.2.2
diff -C2 -d -r1.32.2.1 -r1.32.2.2
*** platname 8 Aug 2003 14:21:06 -0000 1.32.2.1
--- platname 8 Aug 2003 15:08:46 -0000 1.32.2.2
***************
*** 33,37 ****
-
# 18JUN03 MGS made some additions to this file so that it would work on the 2.18 BDI
# Hopefully, it won't break anything else...
--- 33,36 ----
|
|
From: <wsh...@us...> - 2003-08-08 15:09:19
|
Update of /cvsroot/emc/rcslib
In directory sc8-pr-cvs1:/tmp/cvs-serv8893
Modified Files:
Tag: wps_multiplat_dev_branch
buildrcs
Log Message:
Make every possible build method use etc/multiplatbuild.sh unless the environment variable USE_OLD_RCSLIB_MAKEFILES is set
Index: buildrcs
===================================================================
RCS file: /cvsroot/emc/rcslib/buildrcs,v
retrieving revision 1.7
retrieving revision 1.7.2.1
diff -C2 -d -r1.7 -r1.7.2.1
*** buildrcs 27 Oct 2000 21:08:31 -0000 1.7
--- buildrcs 8 Aug 2003 15:08:46 -0000 1.7.2.1
***************
*** 1,7 ****
#!/bin/csh -f
set PLATBASE=`uname -s | gawk '{ printf ( "%s",tolower ( $1 ) ) }'`
! set PLAT=`uname -sr | sed "y/ /_/" | sed "y/./_/" | sed s/-rtl.\*\$// | sed "y/-/_/" | gawk '{ printf ( "%s",tolower ( $1 ) ) }'`
if (${PLATBASE} == "linux") then
--- 1,12 ----
#!/bin/csh -f
+ if test "x${USE_OLD_RCSLIB_MAKEFILES}" = "x" ; then
+ etc/multiplatbuild.sh
+ exit 0
+ fi
+
set PLATBASE=`uname -s | gawk '{ printf ( "%s",tolower ( $1 ) ) }'`
! setenv PLAT `uname -sr | sed "y/ /_/" | sed "y/./_/" | sed s/-rtl.\*\$// | sed "y/-/_/" | gawk '{ printf ( "%s",tolower ( $1 ) ) }'`
if (${PLATBASE} == "linux") then
***************
*** 16,21 ****
! if ($#argv >= 1) then
! set PLAT=$1
set PLATBASE=`echo ${PLAT}| sed s/-rtl.\*\$// | sed s/_.\*\$//`
endif
--- 21,26 ----
! if ($#argv >= 1) then
! setenv PLAT $1
set PLATBASE=`echo ${PLAT}| sed s/-rtl.\*\$// | sed s/_.\*\$//`
endif
|
|
From: <wsh...@us...> - 2003-08-08 15:08:53
|
Update of /cvsroot/emc/rcslib/src/stg_clss
In directory sc8-pr-cvs1:/tmp/cvs-serv8893/src/stg_clss
Modified Files:
Tag: wps_multiplat_dev_branch
Makefile
Log Message:
Make every possible build method use etc/multiplatbuild.sh unless the environment variable USE_OLD_RCSLIB_MAKEFILES is set
Index: Makefile
===================================================================
RCS file: /cvsroot/emc/rcslib/src/stg_clss/Makefile,v
retrieving revision 4.33.2.1
retrieving revision 4.33.2.2
diff -C2 -d -r4.33.2.1 -r4.33.2.2
*** Makefile 8 Aug 2003 14:21:14 -0000 4.33.2.1
--- Makefile 8 Aug 2003 15:08:50 -0000 4.33.2.2
***************
*** 1,2 ****
--- 1,18 ----
+ ifndef USE_OLD_RCSLIB_MAKEFILES
+
+ all:
+ ../../etc/multiplatbuild.sh
+
+ config:
+ ../../etc/multiplatbuild.sh config $(CONFIG_ARGS)
+
+ clean distclean check distcheck install:
+ ../../etc/multiplatbuild.sh config $@
+
+ .PHONY: all config clean distclean check distcheck install
+
+
+ else
+
#
# Makefile for the RCS C++ Storage Class Utilities
***************
*** 39,41 ****
! # DO NOT DELETE THIS LINE -- make depend depends on it.
--- 55,59 ----
! endif
! # ifndef USE_OLD_RCSLIB_MAKEFILES
!
|
|
From: <wsh...@us...> - 2003-08-08 15:08:53
|
Update of /cvsroot/emc/rcslib/src/print
In directory sc8-pr-cvs1:/tmp/cvs-serv8893/src/print
Modified Files:
Tag: wps_multiplat_dev_branch
Makefile
Log Message:
Make every possible build method use etc/multiplatbuild.sh unless the environment variable USE_OLD_RCSLIB_MAKEFILES is set
Index: Makefile
===================================================================
RCS file: /cvsroot/emc/rcslib/src/print/Makefile,v
retrieving revision 4.33.2.1
retrieving revision 4.33.2.2
diff -C2 -d -r4.33.2.1 -r4.33.2.2
*** Makefile 8 Aug 2003 14:21:14 -0000 4.33.2.1
--- Makefile 8 Aug 2003 15:08:50 -0000 4.33.2.2
***************
*** 1,2 ****
--- 1,18 ----
+ ifndef USE_OLD_RCSLIB_MAKEFILES
+
+ all:
+ ../../etc/multiplatbuild.sh
+
+ config:
+ ../../etc/multiplatbuild.sh config $(CONFIG_ARGS)
+
+ clean distclean check distcheck install:
+ ../../etc/multiplatbuild.sh config $@
+
+ .PHONY: all config clean distclean check distcheck install
+
+
+ else
+
#
# Makefile for the RCS C++ Storage Class Utilities
***************
*** 40,42 ****
.PHONY: printest printest.tc
! # DO NOT DELETE THIS LINE -- make depend depends on it.
--- 56,59 ----
.PHONY: printest printest.tc
! endif
! # ifndef USE_OLD_RCSLIB_MAKEFILES
|