Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 962 → Rev 963

/shark/trunk/ports/first/first-error.c
15,34 → 15,44
#include <string.h>
static char *fsf_msg[]={
"Too Many Task",
"Bad argument",
"Invalid synch object handle",
"No renegotiation request",
"Contract rejected",
"Not scheduled calling thread",
"Unbound error",
"Unknown application scheduled thread",
"No contracted server",
"Not scheduled thread",
"Too many service jobs",
"Too many synch object",
"Too many servers in synch object",
"Too many events in synch object",
"FSF internal error",
"Too many servers",
"Invalid scheduler reply",
"Too many many pending replenishments",
"System already initialized",
"Shared object already initialized",
"Shared object not initizialized",
"Scheduling policy not compatible",
"TOO_MANY_TASKS ",
"BAD_ARGUMENT ",
"INVALID_SYNCH_OBJ_HANDLE ",
"NO_RENEGOTIATION_REQUESTED ",
"CONTRACT_REJECTED ",
"NOT_SCHEDULED_CALLING_THREAD ",
"NOT_BOUND_THREAD ",
"UNKNOWN_SCHEDULED_THREAD ",
"NOT_CONTRACTED_SERVER ",
"NOT_SCHEDULED_THREAD ",
"TOO_MANY_SERVICE_JOBS ",
"TOO_MANY_SYNCH_OBJS ",
"TOO_MANY_SERVERS_IN_SYNCH_OBJ ",
"TOO_MANY_EVENTS_IN_SYNCH_OBJ ",
"INTERNAL_ERROR ",
"TOO_MANY_SERVERS ",
"INVALID_SCHEDULER_REPLY ",
"TOO_MANY_PENDING_REPLENISHMENTS",
"SYSTEM_ALREADY_INITIALIZED ",
"SHARED_OBJ_ALREADY_INITIALIZED ",
"SHARED_OBJ_NOT_INITIALIZED ",
"SCHED_POLICY_NOT_COMPATIBLE ",
"SERVER_WORKLOAD_NOT_COMPATIBLE ",
"ALREADY_BOUND ",
"WRONG_NETWORK ",
"TOO_LARGE ",
"BUFFER_FULL ",
"NO_SPACE ",
"NO_MESSAGES ",
"MODULE_NOT_SUPPORTED ",
"SYSTEM_NOT_INITIALIZED ",
"TOO_MANY_SHARED_OBJS ",
};
 
int fsf_strerror (int error, char *message, size_t size)
{
if (error>FSF_ERR_CODES_BASE && error<FSF_ERR_CODES_BASE+FSF_ERR_CODES_MAX) {
strncpy(message, fsf_msg[error-FSF_ERR_CODES_BASE-1], size);
} else return -1;
if (message && size>0 && error>FSF_ERR_BASE_VALUE && error<=FSF_ERR_LAST_VALUE) {
strncpy(message, fsf_msg[error-FSF_ERR_BASE_VALUE-1], size);
} else return FSF_ERR_BAD_ARGUMENT;
return 0;
}