Files
rtems/tools/schedsim/shell/shared/lookup_task.c
Joel Sherrill abff6d226a 2010-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>
Jennifer Averett <jennifer.averett@oarcorp.com>

	Add RTEMS Scheduler Simulator.  This is the shell scripting portion.
	* .cvsignore, ChangeLog, Makefile.am, schedsim_priority/.cvsignore,
	schedsim_priority/Makefile.am, schedsim_priority/config.c,
	schedsim_priority/printheir_executing.c,
	schedsim_priority/schedsim.cc,
	schedsim_priority/wrap_thread_dispatch.c, scripts/script01,
	scripts/script02, scripts/script03, scripts/script04,
	scripts/script05, scripts/script06, shared/.cvsignore,
	shared/Makefile.am, shared/commands.c, shared/getopt.c,
	shared/lookup_semaphore.c, shared/lookup_task.c,
	shared/main_clocktick.c, shared/main_echo.c, shared/main_executing.c,
	shared/main_heir.c, shared/main_help.c, shared/main_rtemsinit.c,
	shared/main_semcreate.c, shared/main_semdelete.c,
	shared/main_semflush.c, shared/main_semobtain.c,
	shared/main_semrelease.c, shared/main_taskcreate.c,
	shared/main_taskdelete.c, shared/main_taskmode.c,
	shared/main_taskpriority.c, shared/main_taskresume.c,
	shared/main_tasksuspend.c, shared/main_taskwakeafter.c,
	shared/schedsim_shell.h, shared/shell_cmdset.c,
	shared/shell_makeargs.c, shared/include/shell.h,
	shared/include/newlib/_ansi.h, shared/include/newlib/getopt.h: New
	files.
2010-12-17 14:49:40 +00:00

59 lines
1.2 KiB
C

/*
* Given Name or ID String, give Id
*
* COPYRIGHT (c) 1989-2010.
* 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.
*
* $Id$
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdio.h>
#include <rtems.h>
#include <rtems/stringto.h>
#ifndef METHOD_NAME
#define METHOD_NAME lookup_task
#endif
#ifndef RTEMS_IDENT_NAME
#define RTEMS_IDENT_NAME rtems_task_ident
#endif
int METHOD_NAME(
const char *string,
rtems_id *id
)
{
char name[5];
rtems_status_code status;
unsigned long tmp;
if ( string[0] != '0' ) {
memset( name, '\0', sizeof(name) );
strncpy( name, string, 4 );
status = RTEMS_IDENT_NAME(
rtems_build_name( name[0], name[1], name[2], name[3] ),
OBJECTS_SEARCH_ALL_NODES,
id
);
if ( status != RTEMS_SUCCESSFUL )
return 1;
} else {
if ( rtems_string_to_unsigned_long( string, &tmp, NULL, 0) ) {
fprintf( stderr, "Argument (%s) is not a number\n", string );
return 1;
}
*id = (rtems_id) tmp;
}
return 0;
}