📄 kcre_cyc.c
字号:
/* ------------------------------------------------------------------------ *//* Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS *//* ITRONカ〖ネル 件袋ハンドラ *//* *//* Copyright (C) 1998-2002 by Project HOS *//* http://sourceforge.jp/projects/hos/ *//* ------------------------------------------------------------------------ */#include "knl_cyc.h"#include "knl_mem.h"/* 件袋ハンドラの栏喇(カ〖ネル柒婶) */ER kernel_cre_cyc( ID cycid, /* 栏喇滦据の件袋ハンドラID戎规 */ const T_CCYC *pk_ccyc) /* 件袋ハンドラ栏喇攫鼠を掐れたパケットへのポインタ */{ T_KERNEL_CYCCB_RAM *cyccb_ram; T_KERNEL_CYCCB_ROM *cyccb_rom; SIZE memsize; UB *memptr; /* 涩妥なメモリサイズを纷换 */ memsize = sizeof(T_KERNEL_CYCCB_RAM) + sizeof(T_KERNEL_CYCCB_ROM); /* メモリ澄瘦 */ memptr = (UB *)kernel_alc_mem(memsize);#ifdef HOS_ERCHK_E_NOMEM if ( memptr == NULL ) { return E_NOMEM; /* メモリ稍颅 */ }#endif /* ポインタ肋年 */ cyccb_ram = (T_KERNEL_CYCCB_RAM *)memptr; memptr += sizeof(T_KERNEL_CYCCB_RAM); cyccb_rom = (T_KERNEL_CYCCB_ROM *)memptr; /* 猛肋年 */ cyccb_ram->timobj.timhdr = kernel_cyc_hdr; /* 件袋ハンドラ判峡 */ cyccb_ram->timobj.next = NULL; /* タイマリスト踏儡鲁 */ cyccb_ram->cyccb_rom = cyccb_rom; /* 件袋ハンドラコントロ〖ルブロックROM婶へのポインタ */ cyccb_rom->cycatr = pk_ccyc->cycatr; /* 件袋ハンドラ掳拉 */ cyccb_rom->exinf = pk_ccyc->exinf; /* 件袋ハンドラの橙磨攫鼠 */ cyccb_rom->cychdr = pk_ccyc->cychdr; /* 件袋ハンドラの弹瓢戎孟 */ cyccb_rom->cyctim = pk_ccyc->cyctim; /* 件袋ハンドラの弹瓢件袋 *//* cyccb_rom->cycphs = pk_ccyc->cycphs;*/ /* 件袋ハンドラの弹瓢疤陵 */ /* 件袋ハンドラコントロ〖ルブロックテ〖ブルに判峡 */ KERNEL_CYCID_TO_CYCCB_RAM(cycid) = cyccb_ram; /* 悸乖掳拉ならば倡幌 */ if ( pk_ccyc->cycatr & TA_STA ) { /* タイマリストに纳裁 */ cyccb_ram->lefttim = pk_ccyc->cyctim; kernel_add_tml((T_KERNEL_TIM *)cyccb_ram); } return E_OK;}/* ------------------------------------------------------------------------ *//* Copyright (C) 1998-2002 by Project HOS *//* ------------------------------------------------------------------------ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -