summaryrefslogtreecommitdiffstats
path: root/c/src/tests/samples/fileio
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/tests/samples/fileio')
-rw-r--r--c/src/tests/samples/fileio/.cvsignore2
-rw-r--r--c/src/tests/samples/fileio/Makefile.am44
-rw-r--r--c/src/tests/samples/fileio/fileio.doc45
-rw-r--r--c/src/tests/samples/fileio/init.c596
-rw-r--r--c/src/tests/samples/fileio/system.h136
5 files changed, 0 insertions, 823 deletions
diff --git a/c/src/tests/samples/fileio/.cvsignore b/c/src/tests/samples/fileio/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/c/src/tests/samples/fileio/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/c/src/tests/samples/fileio/Makefile.am b/c/src/tests/samples/fileio/Makefile.am
deleted file mode 100644
index eab6dbba35..0000000000
--- a/c/src/tests/samples/fileio/Makefile.am
+++ /dev/null
@@ -1,44 +0,0 @@
-##
-## Makefile.am,v 1.9 2002/08/11 05:18:59 ralf Exp
-##
-
-
-SAMPLE = fileio
-PGM = ${ARCH}/$(SAMPLE).exe
-
-MANAGERS = io message semaphore
-
-C_FILES = init.c
-C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
-
-H_FILES = system.h
-noinst_HEADERS = $(H_FILES)
-
-DOCTYPES = doc
-DOCS = $(DOCTYPES:%=$(SAMPLE).%)
-
-SRCS = $(DOCS) $(C_FILES) $(H_FILES)
-OBJS = $(C_O_FILES)
-
-PRINT_SRCS = $(DOCS)
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(top_srcdir)/../automake/compile.am
-include $(top_srcdir)/../automake/leaf.am
-include $(top_srcdir)/sample.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-if LIBCHIP
-all-local: ${ARCH} $(TMPINSTALL_FILES)
-
-${PGM}: $(OBJS) $(LINK_FILES)
- $(make-exe)
-endif
-
-EXTRA_DIST = $(C_FILES) $(DOCS)
-
-include $(top_srcdir)/../automake/local.am
-
diff --git a/c/src/tests/samples/fileio/fileio.doc b/c/src/tests/samples/fileio/fileio.doc
deleted file mode 100644
index 4bce0f016f..0000000000
--- a/c/src/tests/samples/fileio/fileio.doc
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# fileio.doc,v
-#
-# COPYRIGHT (c) 1989-1999.
-# On-Line Applications Research Corporation (OAR).
-#
-# The license and distribution terms for this file may be
-# found in the file LICENSE in this distribution or at
-# http://www.rtems.com/license/LICENSE.
-#
-
-This sample implements some basic tests for the file systems
-available. It provides the following functionality:
-
-- perform basic file read/write tests on arbitrary file paths with
-selectable I/O buffer size
-- perform functions to evaluate FAT disk partition tables
-- perform functions to mount FAT disks to the file system tree
-
-A sample session might look like this:
-
-- start this system
-
-- select "p" (part_table_initialize) to read in the partition table of
-first harddisk, enter the device name "/dev/hda", when prompted
-
-- select "f" (fsmount) to try to mount the partitions
- /dev/hda1../dev/hdc4 to corresponding mount points. Non-existant
- partitions will report an error, but will not abort the tests
-
-- select "w" (write file) to create a new file on the mounted disk (or
- in the IMFS). Enter the file name (e.g. "/mnt/hda1/test_1M.txt"),
- the file size (e.g. 64K or 2M) and the buffer size to use for the
- write calls (e.g. 32 or 4K). Then the sample will try to write the
- corresponding file and print the time consumed and data rate achived.
-
-- select "r" (read file) to read a file (without displaying the
- contents). It has similar parameters as "write file", but does not
- query the file size.
-
-- select "s" to call the rtems shell with its various capabilities.
-
-
-
-
diff --git a/c/src/tests/samples/fileio/init.c b/c/src/tests/samples/fileio/init.c
deleted file mode 100644
index 1cb82a011d..0000000000
--- a/c/src/tests/samples/fileio/init.c
+++ /dev/null
@@ -1,596 +0,0 @@
-/* Init
- *
- * This routine is the initialization task for this test program.
- * It is called from init_exec and has the responsibility for creating
- * and starting the tasks that make up the test. If the time of day
- * clock is required for the test, it should also be set to a known
- * value by this function.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * init.c,v 1.11 2000/06/12 15:00:12 joel Exp
- */
-
-#define CONFIGURE_INIT
-#include "system.h"
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <rtems.h>
-#include <fcntl.h>
-#include <rtems/error.h>
-#include <dosfs.h>
-#include <ctype.h>
-#include <rtems/ide_part_table.h>
-#include <rtems/libcsupport.h>
-#include <rtems/fsmount.h>
-
-/*
- * Table of FAT file systems that will be mounted
- * with the "fsmount" function.
- * See cpukit/libmisc/fsmount for definition of fields
- */
-fstab_t fs_table[] = {
- {
- "/dev/hda1","/mnt/hda1",
- &msdos_ops, RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- },
- {
- "/dev/hda2","/mnt/hda2",
- &msdos_ops, RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- },
- {
- "/dev/hda3","/mnt/hda3",
- &msdos_ops, RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- },
- {
- "/dev/hda4","/mnt/hda4",
- &msdos_ops, RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- },
- {
- "/dev/hdc1","/mnt/hdc1",
- &msdos_ops, RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- },
- {
- "/dev/hdc2","/mnt/hdc2",
- &msdos_ops, RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- },
- {
- "/dev/hdc3","/mnt/hdc3",
- &msdos_ops, RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- },
- {
- "/dev/hdc4","/mnt/hdc4",
- &msdos_ops, RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- }
-};
-
-#define MIN(a,b) (((a) > (b)) ? (b) : (a))
-
-#define USE_SHELL
-
-#ifdef USE_SHELL
-#include <rtems/shell.h>
-
-void fileio_start_shell(void)
-{
- printf(" =========================\n");
- printf(" starting shell\n");
- printf(" =========================\n");
- shell_init("SHLL",0,100,"/dev/console",
- B9600 | CS8,
- 0);
- rtems_task_suspend(RTEMS_SELF);
-}
-
-#endif /* USE_SHELL */
-
-void fileio_print_free_heap(void)
-{
- printf("--- unused dynamic memory: %lu bytes ---\n",
- (unsigned long) malloc_free_space());
-}
-
-
-void fileio_part_table_initialize(void)
-{
- char devname[64];
- rtems_status_code rc;
-
- printf(" =========================\n");
- printf(" Initialize partition table\n");
- printf(" =========================\n");
- fileio_print_free_heap();
- printf(" Enter device to initialize ==>");
- fgets(devname,sizeof(devname)-1,stdin);
- while (devname[strlen(devname)-1] == '\n') {
- devname[strlen(devname)-1] = '\0';
- }
- /*
- * call function
- */
- rc = rtems_ide_part_table_initialize(devname);
- printf("result = %d\n",rc);
- fileio_print_free_heap();
-}
-
-void fileio_fsmount(void)
-{
- rtems_status_code rc;
-
- printf(" =========================\n");
- printf(" Process fsmount table\n");
- printf(" =========================\n");
- fileio_print_free_heap();
- /*
- * call function
- */
- rc = rtems_fsmount( fs_table,
- sizeof(fs_table)/sizeof(fs_table[0]),
- NULL);
- printf("result = %d\n",rc);
- fileio_print_free_heap();
-}
-
-void fileio_list_file(void)
-{
- char fname[1024];
- char *buf_ptr = NULL;
- unsigned32 flen = 0;
- int fd = -1;
- ssize_t n;
- size_t buf_size = 100;
-
- rtems_interval start_tick,curr_tick,ticks_per_sec;
-
- printf(" =========================\n");
- printf(" LIST FILE ... \n");
- printf(" =========================\n");
- fileio_print_free_heap();
- printf(" Enter filename to list ==>");
- fgets(fname,sizeof(fname)-1,stdin);
- while (fname[strlen(fname)-1] == '\n') {
- fname[strlen(fname)-1] = '\0';
- }
- /*
- * allocate buffer of given size
- */
- if (buf_size > 0) {
- buf_ptr = malloc(buf_size);
- }
-
- if (buf_ptr != NULL) {
- printf("\n Trying to open file \"%s\" for read\n",fname);
- fd = open(fname,O_RDONLY);
- if (fd < 0) {
- printf("*** file open failed, errno = %d(%s)\n",errno,strerror(errno));
- }
- }
-
- if (fd >= 0) {
- rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &start_tick);
- do {
- n = read(fd,buf_ptr,buf_size);
- if (n > 0) {
- write(1,buf_ptr,n);
- flen += n;
- }
- } while (n > 0);
-
- rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &curr_tick);
-
- printf("\n ******** End of file reached, flen = %d\n",flen);
- close(fd);
-
- rtems_clock_get(RTEMS_CLOCK_GET_TICKS_PER_SECOND, &ticks_per_sec);
- printf("time elapsed for read: %g seconds\n",
- ((double)curr_tick-start_tick)/ticks_per_sec);
- }
- /*
- * free buffer
- */
- if (buf_ptr != NULL) {
- free(buf_ptr);
- }
- fileio_print_free_heap();
-}
-
-/*
- * convert a size string (like 34K or 12M) to actual byte count
- */
-boolean fileio_str2size(const char *str,unsigned32 *res_ptr)
-{
- boolean failed = FALSE;
- unsigned long size;
- char suffix = ' ';
-
- if (1 > sscanf(str,"%lu%c",&size,&suffix)) {
- failed = TRUE;
- }
- else if (toupper(suffix) == 'K') {
- size *= 1024;
- }
- else if (toupper(suffix) == 'M') {
- size *= 1024UL*1024UL;
- }
- else if (isalpha(suffix)) {
- failed = TRUE;
- }
-
- if (!failed) {
- *res_ptr = size;
- }
- return failed;
-}
-
-void fileio_write_file(void)
-{
- char fname[1024];
- char tmp_str[32];
- unsigned32 file_size = 0;
- unsigned32 buf_size = 0;
- size_t curr_pos,bytes_to_copy;
- int fd = -1;
- ssize_t n;
- rtems_interval start_tick,curr_tick,ticks_per_sec;
- char *bufptr = NULL;
- boolean failed = FALSE;
- static const char write_test_string[] =
- "The quick brown fox jumps over the lazy dog\n";
- static const char write_block_string[] =
- "\n----- end of write buffer ------\n";
-
- printf(" =========================\n");
- printf(" WRITE FILE ... \n");
- printf(" =========================\n");
- fileio_print_free_heap();
- /*
- * get number of ticks per second
- */
- rtems_clock_get(RTEMS_CLOCK_GET_TICKS_PER_SECOND, &ticks_per_sec);
-
- /*
- * get path to file to write
- */
- if (!failed) {
- printf("Enter path/filename ==>");
- fgets(fname,sizeof(fname)-1,stdin);
- while (fname[strlen(fname)-1] == '\n') {
- fname[strlen(fname)-1] = '\0';
- }
- if (0 == strlen(fname)) {
- printf("*** no filename entered, aborted\n");
- failed = TRUE;
- }
- }
- /*
- * get total file size to write
- */
- if (!failed) {
- printf("use suffix K for Kbytes, M for Mbytes or no suffix for bytes:\n"
- "Enter filesize to write ==>");
- fgets(tmp_str,sizeof(tmp_str)-1,stdin);
- failed = fileio_str2size(tmp_str,&file_size);
- if (failed) {
- printf("*** illegal file size, aborted\n");
- }
- }
- /*
- * get block size to write
- */
- if (!failed) {
- printf("use suffix K for Kbytes, M for Mbytes or no suffix for bytes:\n"
- "Enter block size to use for write calls ==>");
- fgets(tmp_str,sizeof(tmp_str)-1,stdin);
- failed = fileio_str2size(tmp_str,&buf_size);
- if (failed) {
- printf("*** illegal block size, aborted\n");
- }
- }
-
- /*
- * allocate buffer
- */
- if (!failed) {
- printf("... allocating %lu bytes of buffer for write data\n",
- (unsigned long)buf_size);
- bufptr = malloc(buf_size+1); /* extra space for terminating NUL char */
- if (bufptr == NULL) {
- printf("*** malloc failed, aborted\n");
- failed = TRUE;
- }
- }
- /*
- * fill buffer with test pattern
- */
- if (!failed) {
- printf("... filling buffer with write data\n");
- curr_pos = 0;
- /*
- * fill buffer with test string
- */
- while (curr_pos < buf_size) {
- bytes_to_copy = MIN(buf_size-curr_pos,
- sizeof(write_test_string)-1);
- memcpy(bufptr+curr_pos,write_test_string,bytes_to_copy);
- curr_pos += bytes_to_copy;
- }
- /*
- * put "end" mark at end of buffer
- */
- bytes_to_copy = sizeof(write_block_string)-1;
- if (buf_size >= bytes_to_copy) {
- memcpy(bufptr+buf_size-bytes_to_copy,
- write_block_string,
- bytes_to_copy);
- }
- }
- /*
- * create file
- */
- if (!failed) {
- printf("... creating file \"%s\"\n",fname);
- fd = open(fname,O_WRONLY | O_CREAT | O_TRUNC,S_IREAD|S_IWRITE);
- if (fd < 0) {
- printf("*** file create failed, errno = %d(%s)\n",errno,strerror(errno));
- failed = TRUE;
- }
- }
- /*
- * write file
- */
- if (!failed) {
- printf("... writing to file\n");
- rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &start_tick);
- curr_pos = 0;
- do {
- bytes_to_copy = buf_size;
- do {
- n = write(fd,
- bufptr + (buf_size-bytes_to_copy),
- MIN(bytes_to_copy,file_size-curr_pos));
- if (n > 0) {
- bytes_to_copy -= n;
- curr_pos += n;
- }
- } while ((bytes_to_copy > 0) && (n > 0));
- } while ((file_size > curr_pos) && (n > 0));
- rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &curr_tick);
- if (n < 0) {
- failed = TRUE;
- printf("*** file write failed, "
- "%lu bytes written, "
- "errno = %d(%s)\n",
- (unsigned long)curr_pos,errno,strerror(errno));
- }
- else {
- printf("time elapsed for write: %g seconds\n",
- ((double)curr_tick-start_tick)/ticks_per_sec);
- printf("write data rate: %g KBytes/second\n",
- (((double)file_size) / 1024.0 /
- (((double)curr_tick-start_tick)/ticks_per_sec)));
- }
- }
- if (fd >= 0) {
- printf("... closing file\n");
- close(fd);
- }
- if (bufptr != NULL) {
- printf("... deallocating buffer\n");
- free(bufptr);
- bufptr = NULL;
- }
- printf("\n ******** End of file write\n");
- fileio_print_free_heap();
-}
-
-void fileio_read_file(void)
-{
- char fname[1024];
- char tmp_str[32];
- unsigned32 buf_size = 0;
- size_t curr_pos;
- int fd = -1;
- ssize_t n;
- rtems_interval start_tick,curr_tick,ticks_per_sec;
- char *bufptr = NULL;
- boolean failed = FALSE;
-
- printf(" =========================\n");
- printf(" READ FILE ... \n");
- printf(" =========================\n");
- fileio_print_free_heap();
- /*
- * get number of ticks per second
- */
- rtems_clock_get(RTEMS_CLOCK_GET_TICKS_PER_SECOND, &ticks_per_sec);
-
- /*
- * get path to file to read
- */
- if (!failed) {
- printf("Enter path/filename ==>");
- fgets(fname,sizeof(fname)-1,stdin);
- while (fname[strlen(fname)-1] == '\n') {
- fname[strlen(fname)-1] = '\0';
- }
- if (0 == strlen(fname)) {
- printf("*** no filename entered, aborted\n");
- failed = TRUE;
- }
- }
- /*
- * get block size to read
- */
- if (!failed) {
- printf("use suffix K for Kbytes, M for Mbytes or no suffix for bytes:\n"
- "Enter block size to use for read calls ==>");
- fgets(tmp_str,sizeof(tmp_str)-1,stdin);
- failed = fileio_str2size(tmp_str,&buf_size);
- if (failed) {
- printf("*** illegal block size, aborted\n");
- }
- }
-
- /*
- * allocate buffer
- */
- if (!failed) {
- printf("... allocating %lu bytes of buffer for write data\n",
- (unsigned long)buf_size);
- bufptr = malloc(buf_size+1); /* extra space for terminating NUL char */
- if (bufptr == NULL) {
- printf("*** malloc failed, aborted\n");
- failed = TRUE;
- }
- }
- /*
- * open file
- */
- if (!failed) {
- printf("... opening file \"%s\"\n",fname);
- fd = open(fname,O_RDONLY);
- if (fd < 0) {
- printf("*** file open failed, errno = %d(%s)\n",errno,strerror(errno));
- failed = TRUE;
- }
- }
- /*
- * read file
- */
- if (!failed) {
- printf("... reading from file\n");
- rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &start_tick);
- curr_pos = 0;
- do {
- n = read(fd,
- bufptr,
- buf_size);
- if (n > 0) {
- curr_pos += n;
- }
- } while (n > 0);
- rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &curr_tick);
- if (n < 0) {
- failed = TRUE;
- printf("*** file read failed, "
- "%lu bytes read, "
- "errno = %d(%s)\n",
- (unsigned long)curr_pos,errno,strerror(errno));
- }
- else {
- printf("%lu bytes read\n",
- (unsigned long)curr_pos);
- printf("time elapsed for read: %g seconds\n",
- ((double)curr_tick-start_tick)/ticks_per_sec);
- printf("read data rate: %g KBytes/second\n",
- (((double)curr_pos) / 1024.0 /
- (((double)curr_tick-start_tick)/ticks_per_sec)));
- }
- }
- if (fd >= 0) {
- printf("... closing file\n");
- close(fd);
- }
- if (bufptr != NULL) {
- printf("... deallocating buffer\n");
- free(bufptr);
- bufptr = NULL;
- }
- printf("\n ******** End of file read\n");
- fileio_print_free_heap();
-
-}
-
-void fileio_menu (void)
-{
- char inbuf[10];
-
- /*
- * Wait for characters from console terminal
- */
- for (;;) {
- printf(" =========================\n");
- printf(" RTEMS FILE I/O Test Menu \n");
- printf(" =========================\n");
- printf(" p -> part_table_initialize\n");
- printf(" f -> mount all disks in fs_table\n");
- printf(" l -> list file\n");
- printf(" r -> read file\n");
- printf(" w -> write file\n");
-#ifdef USE_SHELL
- printf(" s -> start shell\n");
-#endif
- printf(" Enter your selection ==>");
-
- inbuf[0] = '\0';
- fgets(inbuf,sizeof(inbuf),stdin);
- switch (inbuf[0]) {
- case 'l':
- fileio_list_file ();
- break;
- case 'r':
- fileio_read_file ();
- break;
- case 'w':
- fileio_write_file ();
- break;
- case 'p':
- fileio_part_table_initialize ();
- break;
- case 'f':
- fileio_fsmount ();
- break;
-#ifdef USE_SHELL
- case 's':
- fileio_start_shell ();
- break;
-#endif
- default:
- printf("Selection `%c` not implemented\n",inbuf[0]);
- break;
- }
-
- }
- exit (0);
-}
-
-int menu_tid;
-
-/*
- * RTEMS Startup Task
- */
-rtems_task
-Init (rtems_task_argument ignored)
-{
- puts( "\n\n*** FILE I/O SAMPLE AND TEST ***" );
-
- fileio_menu();
-}
diff --git a/c/src/tests/samples/fileio/system.h b/c/src/tests/samples/fileio/system.h
deleted file mode 100644
index 9c35b83da3..0000000000
--- a/c/src/tests/samples/fileio/system.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* system.h
- *
- * This include file contains information that is included in every
- * function in the test set.
- *
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * system.h,v 1.13 2000/06/12 15:00:12 joel Exp
- */
-
-#include <rtems.h>
-
-/* functions */
-
-rtems_task Init(
- rtems_task_argument argument
-);
-
-/* global variables */
-
-
-/* configuration information */
-
-#include <bsp.h> /* for device driver prototypes */
-#include <libchip/ata.h> /* for ata driver prototype */
-#include <libchip/ide_ctrl.h> /* for general ide driver prototype */
-
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
-
-#define CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
-
-#ifdef CONFIGURE_INIT
-rtems_driver_address_table Device_drivers[] =
- {
- CONSOLE_DRIVER_TABLE_ENTRY
- ,CLOCK_DRIVER_TABLE_ENTRY
-#ifdef RTEMS_BSP_HAS_IDE_DRIVER
- ,IDE_CONTROLLER_DRIVER_TABLE_ENTRY
- /* important: ATA driver must be after ide drivers */
- ,ATA_DRIVER_TABLE_ENTRY
-#endif
- };
-
-#include <rtems/bdbuf.h>
-rtems_bdbuf_config rtems_bdbuf_configuration[] = {
- {512,128,NULL}
-};
-int rtems_bdbuf_configuration_size =( sizeof(rtems_bdbuf_configuration)
- /sizeof(rtems_bdbuf_configuration[0]));
-#endif
-
-
-/*
- * XXX: these values are higher than needed...
- */
-#define CONFIGURE_MAXIMUM_TASKS 20
-#define CONFIGURE_MAXIMUM_SEMAPHORES 20
-#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 20
-#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 20
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE)
-
-#include <confdefs.h>
-
-/*
- * Handy macros and static inline functions
- */
-
-/*
- * Macro to hide the ugliness of printing the time.
- */
-
-#define print_time(_s1, _tb, _s2) \
- do { \
- printf( "%s%02d:%02d:%02d %02d/%02d/%04d%s", \
- _s1, (_tb)->hour, (_tb)->minute, (_tb)->second, \
- (_tb)->month, (_tb)->day, (_tb)->year, _s2 ); \
- fflush(stdout); \
- } while ( 0 )
-
-/*
- * Macro to print an task name that is composed of ASCII characters.
- *
- */
-
-#define put_name( _name, _crlf ) \
- do { \
- rtems_unsigned32 c0, c1, c2, c3; \
- \
- c0 = ((_name) >> 24) & 0xff; \
- c1 = ((_name) >> 16) & 0xff; \
- c2 = ((_name) >> 8) & 0xff; \
- c3 = (_name) & 0xff; \
- putchar( (char)c0 ); \
- if ( c1 ) putchar( (char)c1 ); \
- if ( c2 ) putchar( (char)c2 ); \
- if ( c3 ) putchar( (char)c3 ); \
- if ( (_crlf) ) \
- putchar( '\n' ); \
- } while (0)
-
-/*
- * static inline routine to make obtaining ticks per second easier.
- */
-
-static inline rtems_unsigned32 get_ticks_per_second( void )
-{
- rtems_interval ticks_per_second;
- (void) rtems_clock_get( RTEMS_CLOCK_GET_TICKS_PER_SECOND, &ticks_per_second ); return ticks_per_second;
-}
-
-
-/*
- * This allows us to view the "Test_task" instantiations as a set
- * of numbered tasks by eliminating the number of application
- * tasks created.
- *
- * In reality, this is too complex for the purposes of this
- * example. It would have been easier to pass a task argument. :)
- * But it shows how rtems_id's can sometimes be used.
- */
-
-#define task_number( tid ) \
- ( rtems_get_index( tid ) - \
- rtems_configuration_get_rtems_api_configuration()->number_of_initialization_tasks )
-
-/* end of include file */
-