⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 remdeb_xdr.c

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 C
📖 第 1 页 / 共 2 页
字号:
}#define DEBUGGER_IS_GDB 0x2 /* */bool_txdr_open_in (XDR *xdrs, open_in *objp){	 if (!xdr_vector (xdrs, (char *)objp->back_port, 16,		sizeof (u_char), (xdrproc_t) xdr_u_char))		 return FALSE;	 if (!xdr_u_short (xdrs, &objp->debug_type))		 return FALSE;	 if (!xdr_u_short (xdrs, &objp->flags))		 return FALSE;	 if (!xdr_vector (xdrs, (char *)objp->destination, 16,		sizeof (u_char), (xdrproc_t) xdr_u_char))		 return FALSE;	 if (!xdr_one_arg (xdrs, &objp->user_name))		 return FALSE;	return TRUE;}bool_txdr_open_out (XDR *xdrs, open_out *objp){	register int32_t *buf;	int i;	if (xdrs->x_op == XDR_ENCODE) {		buf = XDR_INLINE (xdrs, (2 + ( 4 )) * BYTES_PER_XDR_UNIT);		if (buf == NULL) {			 if (!xdr_u_long (xdrs, &objp->port))				 return FALSE;			 if (!xdr_vector (xdrs, (char *)objp->pad, 4,				sizeof (u_int), (xdrproc_t) xdr_u_int))				 return FALSE;			 if (!xdr_u_int (xdrs, &objp->fp))				 return FALSE;		} else {		IXDR_PUT_U_LONG(buf, objp->port);		{			register u_int *genp;			for (i = 0, genp = objp->pad;				i < 4; ++i) {				IXDR_PUT_U_LONG(buf, *genp++);			}		}		IXDR_PUT_U_LONG(buf, objp->fp);		}		 if (!xdr_u_char (xdrs, &objp->cmd_table_num))			 return FALSE;		 if (!xdr_u_char (xdrs, &objp->cmd_table_vers))			 return FALSE;		 if (!xdr_u_short (xdrs, &objp->server_vers))			 return FALSE;		return TRUE;	} else if (xdrs->x_op == XDR_DECODE) {		buf = XDR_INLINE (xdrs, (2 + ( 4 )) * BYTES_PER_XDR_UNIT);		if (buf == NULL) {			 if (!xdr_u_long (xdrs, &objp->port))				 return FALSE;			 if (!xdr_vector (xdrs, (char *)objp->pad, 4,				sizeof (u_int), (xdrproc_t) xdr_u_int))				 return FALSE;			 if (!xdr_u_int (xdrs, &objp->fp))				 return FALSE;		} else {		objp->port = IXDR_GET_U_LONG(buf);		{			register u_int *genp;			for (i = 0, genp = objp->pad;				i < 4; ++i) {				*genp++ = IXDR_GET_U_LONG(buf);			}		}		objp->fp = IXDR_GET_U_LONG(buf);		}		 if (!xdr_u_char (xdrs, &objp->cmd_table_num))			 return FALSE;		 if (!xdr_u_char (xdrs, &objp->cmd_table_vers))			 return FALSE;		 if (!xdr_u_short (xdrs, &objp->server_vers))			 return FALSE;	 return TRUE;	}	 if (!xdr_u_long (xdrs, &objp->port))		 return FALSE;	 if (!xdr_vector (xdrs, (char *)objp->pad, 4,		sizeof (u_int), (xdrproc_t) xdr_u_int))		 return FALSE;	 if (!xdr_u_int (xdrs, &objp->fp))		 return FALSE;	 if (!xdr_u_char (xdrs, &objp->cmd_table_num))		 return FALSE;	 if (!xdr_u_char (xdrs, &objp->cmd_table_vers))		 return FALSE;	 if (!xdr_u_short (xdrs, &objp->server_vers))		 return FALSE;	return TRUE;} /* now close_connex() routine which detaches from server */bool_txdr_close_control (XDR *xdrs, close_control *objp){	 if (!xdr_enum (xdrs, (enum_t *) objp))		 return FALSE;	return TRUE;}bool_txdr_close_in (XDR *xdrs, close_in *objp){	 if (!xdr_close_control (xdrs, &objp->control))		 return FALSE;	return TRUE;} /* now send_signal() routine which sends signals to processes like kill(2) */bool_txdr_signal_in (XDR *xdrs, signal_in *objp){	 if (!xdr_int (xdrs, &objp->pid))		 return FALSE;	 if (!xdr_int (xdrs, &objp->sig))		 return FALSE;	return TRUE;}bool_txdr_signal_out (XDR *xdrs, signal_out *objp){	 if (!xdr_int (xdrs, &objp->kill_return))		 return FALSE;	 if (!xdr_int (xdrs, &objp->errNo))		 return FALSE;	return TRUE;} /* now wait_info() routine which returns results of polling the wait status	of a process/actor. It may return 0 if running, else pid or -1 */bool_txdr_stop_code (XDR *xdrs, stop_code *objp){	 if (!xdr_enum (xdrs, (enum_t *) objp))		 return FALSE;	return TRUE;}bool_txdr_wait_in (XDR *xdrs, wait_in *objp){	 if (!xdr_int (xdrs, &objp->pid))		 return FALSE;	return TRUE;}bool_txdr_wait_out (XDR *xdrs, wait_out *objp){	register int32_t *buf;	if (xdrs->x_op == XDR_ENCODE) {		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);		if (buf == NULL) {			 if (!xdr_int (xdrs, &objp->wait_return))				 return FALSE;			 if (!xdr_int (xdrs, &objp->errNo))				 return FALSE;			 if (!xdr_int (xdrs, &objp->status))				 return FALSE;		} else {		IXDR_PUT_LONG(buf, objp->wait_return);		IXDR_PUT_LONG(buf, objp->errNo);		IXDR_PUT_LONG(buf, objp->status);		}		 if (!xdr_stop_code (xdrs, &objp->reason))			 return FALSE;		buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);		if (buf == NULL) {			 if (!xdr_int (xdrs, &objp->handle))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->PC))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->SP))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->FP))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->thread))				 return FALSE;		} else {			IXDR_PUT_LONG(buf, objp->handle);			IXDR_PUT_U_LONG(buf, objp->PC);			IXDR_PUT_U_LONG(buf, objp->SP);			IXDR_PUT_U_LONG(buf, objp->FP);			IXDR_PUT_U_LONG(buf, objp->thread);		}		return TRUE;	} else if (xdrs->x_op == XDR_DECODE) {		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);		if (buf == NULL) {			 if (!xdr_int (xdrs, &objp->wait_return))				 return FALSE;			 if (!xdr_int (xdrs, &objp->errNo))				 return FALSE;			 if (!xdr_int (xdrs, &objp->status))				 return FALSE;		} else {		objp->wait_return = IXDR_GET_LONG(buf);		objp->errNo = IXDR_GET_LONG(buf);		objp->status = IXDR_GET_LONG(buf);		}		 if (!xdr_stop_code (xdrs, &objp->reason))			 return FALSE;		buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);		if (buf == NULL) {			 if (!xdr_int (xdrs, &objp->handle))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->PC))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->SP))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->FP))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->thread))				 return FALSE;		} else {			objp->handle = IXDR_GET_LONG(buf);			objp->PC = IXDR_GET_U_LONG(buf);			objp->SP = IXDR_GET_U_LONG(buf);			objp->FP = IXDR_GET_U_LONG(buf);			objp->thread = IXDR_GET_U_LONG(buf);		}	 return TRUE;	}	 if (!xdr_int (xdrs, &objp->wait_return))		 return FALSE;	 if (!xdr_int (xdrs, &objp->errNo))		 return FALSE;	 if (!xdr_int (xdrs, &objp->status))		 return FALSE;	 if (!xdr_stop_code (xdrs, &objp->reason))		 return FALSE;	 if (!xdr_int (xdrs, &objp->handle))		 return FALSE;	 if (!xdr_u_long (xdrs, &objp->PC))		 return FALSE;	 if (!xdr_u_long (xdrs, &objp->SP))		 return FALSE;	 if (!xdr_u_long (xdrs, &objp->FP))		 return FALSE;	 if (!xdr_u_long (xdrs, &objp->thread))		 return FALSE;	return TRUE;} /* now ptrace() routine. This matches the Sun UNIX ptrace as well as	some additions */bool_txdr_ptrace_in (XDR *xdrs, ptrace_in *objp){	 if (!xdr_int (xdrs, &objp->pid))		 return FALSE;	 if (!xdr_ptrace_addr_data_in (xdrs, &objp->addr))		 return FALSE;	 if (!xdr_u_int (xdrs, &objp->data))		 return FALSE;	 if (!xdr_u_int (xdrs, &objp->flags))		 return FALSE;	return TRUE;}bool_txdr_ptrace_out (XDR *xdrs, ptrace_out *objp){	 if (!xdr_ptrace_addr_data_out (xdrs, &objp->addr))		 return FALSE;	 if (!xdr_int (xdrs, &objp->result))		 return FALSE;	 if (!xdr_int (xdrs, &objp->errNo))		 return FALSE;	return TRUE;}bool_txdr_one_symbol (XDR *xdrs, one_symbol *objp){	 if (!xdr_string (xdrs, &objp->symbolName, ~0))		 return FALSE;	 if (!xdr_long (xdrs, &objp->symbolValue))		 return FALSE;	return TRUE;}bool_txdr_all_symbols (XDR *xdrs, all_symbols *objp){	 if (!xdr_array (xdrs, (char **)&objp->all_symbols_val, (u_int *) &objp->all_symbols_len, ~0,		sizeof (one_symbol), (xdrproc_t) xdr_one_symbol))		 return FALSE;	return TRUE;}bool_txdr_get_global_symbols_out (XDR *xdrs, get_global_symbols_out *objp){	 if (!xdr_all_symbols (xdrs, &objp->symbols))		 return FALSE;	return TRUE;}bool_txdr_get_text_data_in (XDR *xdrs, get_text_data_in *objp){	 if (!xdr_int (xdrs, &objp->pid))		 return FALSE;	 if (!xdr_string (xdrs, &objp->actorName, 16))		 return FALSE;	return TRUE;}bool_txdr_get_text_data_out (XDR *xdrs, get_text_data_out *objp){	register int32_t *buf;	if (xdrs->x_op == XDR_ENCODE) {		buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);		if (buf == NULL) {			 if (!xdr_int (xdrs, &objp->result))				 return FALSE;			 if (!xdr_int (xdrs, &objp->errNo))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->textStart))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->textSize))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->dataStart))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->dataSize))				 return FALSE;		} else {			IXDR_PUT_LONG(buf, objp->result);			IXDR_PUT_LONG(buf, objp->errNo);			IXDR_PUT_U_LONG(buf, objp->textStart);			IXDR_PUT_U_LONG(buf, objp->textSize);			IXDR_PUT_U_LONG(buf, objp->dataStart);			IXDR_PUT_U_LONG(buf, objp->dataSize);		}		return TRUE;	} else if (xdrs->x_op == XDR_DECODE) {		buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);		if (buf == NULL) {			 if (!xdr_int (xdrs, &objp->result))				 return FALSE;			 if (!xdr_int (xdrs, &objp->errNo))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->textStart))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->textSize))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->dataStart))				 return FALSE;			 if (!xdr_u_long (xdrs, &objp->dataSize))				 return FALSE;		} else {			objp->result = IXDR_GET_LONG(buf);			objp->errNo = IXDR_GET_LONG(buf);			objp->textStart = IXDR_GET_U_LONG(buf);			objp->textSize = IXDR_GET_U_LONG(buf);			objp->dataStart = IXDR_GET_U_LONG(buf);			objp->dataSize = IXDR_GET_U_LONG(buf);		}	 return TRUE;	}	 if (!xdr_int (xdrs, &objp->result))		 return FALSE;	 if (!xdr_int (xdrs, &objp->errNo))		 return FALSE;	 if (!xdr_u_long (xdrs, &objp->textStart))		 return FALSE;	 if (!xdr_u_long (xdrs, &objp->textSize))		 return FALSE;	 if (!xdr_u_long (xdrs, &objp->dataStart))		 return FALSE;	 if (!xdr_u_long (xdrs, &objp->dataSize))		 return FALSE;	return TRUE;}bool_txdr_one_signal (XDR *xdrs, one_signal *objp){	 if (!xdr_u_int (xdrs, &objp->number))		 return FALSE;	 if (!xdr_string (xdrs, &objp->name, ~0))		 return FALSE;	return TRUE;}bool_txdr_all_signals (XDR *xdrs, all_signals *objp){	 if (!xdr_array (xdrs, (char **)&objp->all_signals_val, (u_int *) &objp->all_signals_len, ~0,		sizeof (one_signal), (xdrproc_t) xdr_one_signal))		 return FALSE;	return TRUE;}bool_txdr_get_signal_names_out (XDR *xdrs, get_signal_names_out *objp){	 if (!xdr_all_signals (xdrs, &objp->signals))		 return FALSE;	return TRUE;} /* now define the actual calls we support */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -