亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_flag.lst

?? uCOS 嵌入式操作系統(tǒng)的改進版,增加了網(wǎng)絡(luò)通訊.
?? LST
?? 第 1 頁 / 共 5 頁
字號:
 193          OS_FLAG_GRP  *OSFlagCreate (OS_FLAGS flags, INT8U *err) reentrant //using 0
 194          {
 195   1      #if OS_CRITICAL_METHOD == 3                         /* Allocate storage for CPU status register        */
 196   1          OS_CPU_SR    cpu_sr;
 197   1      #endif
 198   1          OS_FLAG_GRP *pgrp;
 199   1      
 200   1      
 201   1          if (OSIntNesting > 0) {                         /* See if called from ISR ...                      */
 202   2              *err = OS_ERR_CREATE_ISR;                   /* ... can't CREATE from an ISR                    */
 203   2              return ((OS_FLAG_GRP *)0);
 204   2          }
 205   1          OS_ENTER_CRITICAL();
 206   1          pgrp = OSFlagFreeList;                          /* Get next free event flag                        */
 207   1          if (pgrp != (OS_FLAG_GRP *)0) {                 /* See if we have event flag groups available      */
 208   2                                                          /* Adjust free list                                */
 209   2              OSFlagFreeList       = (OS_FLAG_GRP *)OSFlagFreeList->OSFlagWaitList;
 210   2              pgrp->OSFlagType     = OS_EVENT_TYPE_FLAG;  /* Set to event flag group type                    */
 211   2              pgrp->OSFlagFlags    = flags;               /* Set to desired initial value                    */
 212   2              pgrp->OSFlagWaitList = (void *)0;           /* Clear list of tasks waiting on flags            */
 213   2      #if OS_FLAG_NAME_SIZE > 0
 214   2              (void)strcpy(pgrp->OSFlagName, "?");
 215   2      #endif
 216   2              OS_EXIT_CRITICAL();
 217   2              *err                 = OS_NO_ERR;
 218   2          } else {
 219   2              OS_EXIT_CRITICAL();
 220   2              *err                 = OS_FLAG_GRP_DEPLETED;
 221   2          }
 222   1          return (pgrp);                                  /* Return pointer to event flag group              */
 223   1      }
 224          
 225          /*$PAGE*/
 226          /*
 227          *********************************************************************************************************
 228          *                                     DELETE AN EVENT FLAG GROUP
 229          *
 230          * Description: This function deletes an event flag group and readies all tasks pending on the event flag
 231          *              group.
 232          *
 233          * Arguments  : pgrp          is a pointer to the desired event flag group.
 234          *
 235          *              opt           determines delete options as follows:
 236          *                            opt == OS_DEL_NO_PEND   Deletes the event flag group ONLY if no task pending
 237          *                            opt == OS_DEL_ALWAYS    Deletes the event flag group even if tasks are
 238          *                                                    waiting.  In this case, all the tasks pending will be
C51 COMPILER V7.06   OS_FLAG                                                               07/18/2003 11:05:57 PAGE 5   

 239          *                                                    readied.
 240          *
 241          *              err           is a pointer to an error code that can contain one of the following values:
 242          *                            OS_NO_ERR               The call was successful and the event flag group was
 243          *                                                    deleted
 244          *                            OS_ERR_DEL_ISR          If you attempted to delete the event flag group from
 245          *                                                    an ISR
 246          *                            OS_FLAG_INVALID_PGRP    If 'pgrp' is a NULL pointer.
 247          *                            OS_ERR_EVENT_TYPE       If you didn't pass a pointer to an event flag group
 248          *                            OS_ERR_INVALID_OPT      An invalid option was specified
 249          *                            OS_ERR_TASK_WAITING     One or more tasks were waiting on the event flag
 250          *                                                    group.
 251          *
 252          * Returns    : pevent        upon error
 253          *              (OS_EVENT *)0 if the semaphore was successfully deleted.
 254          *
 255          * Note(s)    : 1) This function must be used with care.  Tasks that would normally expect the presence of
 256          *                 the event flag group MUST check the return code of OSFlagAccept() and OSFlagPend().
 257          *              2) This call can potentially disable interrupts for a long time.  The interrupt disable
 258          *                 time is directly proportional to the number of tasks waiting on the event flag group.
 259          *********************************************************************************************************
 260          */
 261          
 262          #if OS_FLAG_DEL_EN > 0
 263          OS_FLAG_GRP  *OSFlagDel (OS_FLAG_GRP *pgrp, INT8U opt, INT8U *err) reentrant //using 0
 264          {
 265   1      #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
 266   1          OS_CPU_SR     cpu_sr;
 267   1      #endif
 268   1          BOOLEAN       tasks_waiting;
 269   1          OS_FLAG_NODE *pnode;
 270   1      
 271   1      
 272   1          if (OSIntNesting > 0) {                                /* See if called from ISR ...               */
 273   2              *err = OS_ERR_DEL_ISR;                             /* ... can't DELETE from an ISR             */
 274   2              return (pgrp);
 275   2          }
 276   1      #if OS_ARG_CHK_EN > 0
 277   1          if (pgrp == (OS_FLAG_GRP *)0) {                        /* Validate 'pgrp'                          */
 278   2              *err = OS_FLAG_INVALID_PGRP;
 279   2              return (pgrp);
 280   2          }
 281   1      #endif
 282   1          if (pgrp->OSFlagType != OS_EVENT_TYPE_FLAG) {          /* Validate event group type                */
 283   2              *err = OS_ERR_EVENT_TYPE;
 284   2              return (pgrp);
 285   2          }
 286   1          OS_ENTER_CRITICAL();
 287   1          if (pgrp->OSFlagWaitList != (void *)0) {               /* See if any tasks waiting on event flags  */
 288   2              tasks_waiting = TRUE;                              /* Yes                                      */
 289   2          } else {
 290   2              tasks_waiting = FALSE;                             /* No                                       */
 291   2          }
 292   1          switch (opt) {
 293   2              case OS_DEL_NO_PEND:                               /* Delete group if no task waiting          */
 294   2                   if (tasks_waiting == FALSE) {
 295   3      #if OS_EVENT_NAME_SIZE > 0
 296   3                       (void)strcpy(pgrp->OSFlagName, "?");      /* Unknown name                             */
 297   3      #endif
 298   3                       pgrp->OSFlagType     = OS_EVENT_TYPE_UNUSED;
 299   3                       pgrp->OSFlagWaitList = (void *)OSFlagFreeList; /* Return group to free list           */
 300   3                       pgrp->OSFlagFlags    = (OS_FLAGS)0;
C51 COMPILER V7.06   OS_FLAG                                                               07/18/2003 11:05:57 PAGE 6   

 301   3                       OSFlagFreeList       = pgrp;
 302   3                       OS_EXIT_CRITICAL();
 303   3                       *err                 = OS_NO_ERR;
 304   3                       return ((OS_FLAG_GRP *)0);                /* Event Flag Group has been deleted        */
 305   3                   } else {
 306   3                       OS_EXIT_CRITICAL();
 307   3                       *err                 = OS_ERR_TASK_WAITING;
 308   3                       return (pgrp);
 309   3                   }
 310   2      
 311   2              case OS_DEL_ALWAYS:                                /* Always delete the event flag group       */
 312   2                   pnode = (OS_FLAG_NODE *)pgrp->OSFlagWaitList;
 313   2                   while (pnode != (OS_FLAG_NODE *)0) {          /* Ready ALL tasks waiting for flags        */
 314   3                       OS_FlagTaskRdy(pnode, (OS_FLAGS)0);
 315   3                       pnode = (OS_FLAG_NODE *)pnode->OSFlagNodeNext;
 316   3                   }
 317   2      #if OS_EVENT_NAME_SIZE > 0
 318   2                   (void)strcpy(pgrp->OSFlagName, "?");          /* Unknown name                             */
 319   2      #endif
 320   2                   pgrp->OSFlagType     = OS_EVENT_TYPE_UNUSED;
 321   2                   pgrp->OSFlagWaitList = (void *)OSFlagFreeList;/* Return group to free list                */
 322   2                   pgrp->OSFlagFlags    = (OS_FLAGS)0;
 323   2                   OSFlagFreeList       = pgrp;
 324   2                   OS_EXIT_CRITICAL();
 325   2                   if (tasks_waiting == TRUE) {                  /* Reschedule only if task(s) were waiting  */
 326   3                       OS_Sched();                               /* Find highest priority task ready to run  */
 327   3                   }
 328   2                   *err = OS_NO_ERR;
 329   2                   return ((OS_FLAG_GRP *)0);                    /* Event Flag Group has been deleted        */
 330   2      
 331   2              default:
 332   2                   OS_EXIT_CRITICAL();
 333   2                   *err = OS_ERR_INVALID_OPT;
 334   2                   return (pgrp);
 335   2          }
 336   1      }
 337          #endif
 338          /*$PAGE*/
 339          /*
 340          *********************************************************************************************************
 341          *                                 GET THE NAME OF AN EVENT FLAG GROUP
 342          *
 343          * Description: This function is used to obtain the name assigned to an event flag group
 344          *
 345          * Arguments  : pgrp      is a pointer to the event flag group.
 346          *
 347          *              pname     is a pointer to an ASCII string that will receive the name of the event flag
 348          *                        group.  The string must be able to hold at least OS_FLAG_NAME_SIZE characters.
 349          *
 350          *              err       is a pointer to an error code that can contain one of the following values:
 351          *
 352          *                        OS_NO_ERR                  if the requested task is resumed
 353          *                        OS_ERR_EVENT_TYPE          if 'pevent' is not pointing to an event flag group
 354          *                        OS_ERR_PNAME_NULL          You passed a NULL pointer for 'pname'
 355          *                        OS_FLAG_INVALID_PGRP       if you passed a NULL pointer for 'pgrp'
 356          *
 357          * Returns    : The length of the string or 0 if the 'pgrp' is a NULL pointer.
 358          *********************************************************************************************************
 359          */
 360          
 361          #if OS_FLAG_NAME_SIZE > 0
 362          INT8U  OSFlagNameGet (OS_FLAG_GRP *pgrp, char *pname, INT8U *err) reentrant //using 0
C51 COMPILER V7.06   OS_FLAG                                                               07/18/2003 11:05:57 PAGE 7   

 363          {
 364   1      #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
 365   1          OS_CPU_SR  cpu_sr;
 366   1      #endif
 367   1          INT8U      len;
 368   1      
 369   1      
 370   1          OS_ENTER_CRITICAL();
 371   1      #if OS_ARG_CHK_EN > 0
 372   1          if (pgrp == (OS_FLAG_GRP *)0) {              /* Is 'pgrp' a NULL pointer?                          */
 373   2              OS_EXIT_CRITICAL();                      /* Yes                                                */
 374   2              *err = OS_FLAG_INVALID_PGRP;
 375   2              return (0);
 376   2          }
 377   1          if (pname == (char *)0) {                    /* Is 'pname' a NULL pointer?                         */
 378   2              OS_EXIT_CRITICAL();                      /* Yes                                                */
 379   2              *err = OS_ERR_PNAME_NULL;
 380   2              return (0);
 381   2          }
 382   1      #endif
 383   1          if (pgrp->OSFlagType != OS_EVENT_TYPE_FLAG) {
 384   2              OS_EXIT_CRITICAL();
 385   2              *err = OS_ERR_EVENT_TYPE;
 386   2              return (0);
 387   2          }
 388   1          (void)strcpy(pname, pgrp->OSFlagName);       /* Yes, copy name from OS_FLAG_GRP                    */
 389   1          len  = strlen(pname);
 390   1          OS_EXIT_CRITICAL();
 391   1          *err = OS_NO_ERR;
 392   1          return (len);
 393   1      }
 394          #endif
 395          
 396          /*$PAGE*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜在线视频| 蜜桃久久av一区| 日韩欧美国产高清| 91看片淫黄大片一级| 老司机精品视频线观看86| 亚洲色图在线看| 日韩视频在线一区二区| 91激情在线视频| 国产成人综合在线观看| 日韩av在线播放中文字幕| 中文字幕一区二区三区不卡| 日韩免费视频一区二区| 91久久香蕉国产日韩欧美9色| 国产精品自在在线| 热久久国产精品| 亚洲一区二区偷拍精品| ㊣最新国产の精品bt伙计久久| 久久综合久色欧美综合狠狠| 欧美三级视频在线观看| 色哟哟精品一区| 99精品视频一区二区| 国产99精品视频| 国产精品1024久久| 精品综合免费视频观看| 五月天中文字幕一区二区| 亚洲尤物视频在线| 亚洲一区二区三区四区在线观看| 亚洲丝袜制服诱惑| 国产精品丝袜久久久久久app| 久久亚洲春色中文字幕久久久| 91精品国产欧美日韩| 欧美丰满嫩嫩电影| 欧美一区二区在线免费播放| 欧美另类变人与禽xxxxx| 欧美日免费三级在线| 欧美三级韩国三级日本一级| 欧美色图12p| 欧美日韩国产中文| 欧美一区二区三区免费观看视频 | 不卡一区二区三区四区| 韩国三级中文字幕hd久久精品| 九一九一国产精品| 国产一区欧美日韩| 国产精品一级片| 丁香啪啪综合成人亚洲小说| 丁香亚洲综合激情啪啪综合| 成熟亚洲日本毛茸茸凸凹| 风间由美中文字幕在线看视频国产欧美| 国产一区二区三区在线观看精品| 国产成人精品三级| 成人晚上爱看视频| 成人av在线播放网址| 91玉足脚交白嫩脚丫在线播放| 91蜜桃视频在线| 欧美色中文字幕| 91精品国产免费| 26uuu国产日韩综合| 日本一区二区不卡视频| 亚洲人成影院在线观看| 亚洲一二三专区| 日本v片在线高清不卡在线观看| 久久精品国产第一区二区三区| 韩日精品视频一区| 91在线视频在线| 欧美日韩一区中文字幕| 精品福利二区三区| 中文字幕字幕中文在线中不卡视频| 亚洲专区一二三| 美女免费视频一区二区| 国产成人综合网| 在线观看成人免费视频| 日韩亚洲欧美成人一区| 国产日韩v精品一区二区| 亚洲精品国产无天堂网2021 | av日韩在线网站| 欧美少妇性性性| 26uuu国产一区二区三区| 亚洲精品乱码久久久久| 久久电影网电视剧免费观看| 不卡高清视频专区| 7777精品伊人久久久大香线蕉最新版| 久久你懂得1024| 亚洲高清免费在线| 国产成人av网站| 欧美特级限制片免费在线观看| 精品福利二区三区| 亚洲国产一区视频| 国产成人av一区| 91麻豆精品国产91久久久久久久久| 国产人成亚洲第一网站在线播放| 亚洲香肠在线观看| 大陆成人av片| 日韩女优毛片在线| 一区二区三区av电影| 国产精品99久久久久久久女警| 欧美天堂一区二区三区| 国产精品狼人久久影院观看方式| 日韩成人dvd| 91蝌蚪porny| 欧美经典一区二区| 日本美女一区二区三区视频| aaa欧美色吧激情视频| 久久综合久久综合久久综合| 日日夜夜精品视频免费| 91小视频在线免费看| 久久日韩粉嫩一区二区三区| 日韩国产欧美视频| 欧美午夜免费电影| 亚洲人亚洲人成电影网站色| 国产麻豆日韩欧美久久| 日韩一区二区三区在线观看| 亚洲成av人片在线| 日本精品一区二区三区四区的功能| 久久久.com| 看电影不卡的网站| 在线播放亚洲一区| 亚洲一区二区三区中文字幕在线| 成人免费毛片嘿嘿连载视频| 精品国产成人系列| 韩国一区二区在线观看| 精品日韩一区二区| 日韩黄色在线观看| 欧美日韩另类一区| 亚洲一区二区三区视频在线播放| 色综合久久88色综合天天| 亚洲同性gay激情无套| 99精品欧美一区二区蜜桃免费| 国产精品美女一区二区在线观看| 国产精品一区二区不卡| 久久久久国产精品麻豆ai换脸| 黄页视频在线91| 精品免费一区二区三区| 久久9热精品视频| 精品国产欧美一区二区| 久久国产免费看| 欧美成人欧美edvon| 国产自产2019最新不卡| 久久久精品黄色| 国产电影一区在线| 中文字幕永久在线不卡| 91免费版在线| 一区二区三区在线视频免费| 在线视频你懂得一区| 亚洲sss视频在线视频| 欧美日本在线看| 日韩电影在线看| 久久这里只有精品首页| 国产成人综合精品三级| 国产精品久久久久久妇女6080| 91色在线porny| 亚洲国产人成综合网站| 91麻豆精品国产91久久久久| 另类小说一区二区三区| 国产喂奶挤奶一区二区三区| 成人激情小说网站| 亚洲精品少妇30p| 91精品国产全国免费观看 | 欧美日韩你懂得| 免费日韩伦理电影| 精品国产乱码久久久久久久 | 91丨porny丨国产入口| 一区二区三区在线免费视频| 欧美美女喷水视频| 韩国毛片一区二区三区| 国产精品美女久久久久久久网站| 91极品美女在线| 久久国产欧美日韩精品| 国产精品久久久99| 欧美日韩国产乱码电影| 国产精品白丝jk白祙喷水网站 | 亚洲精品第1页| 777亚洲妇女| 成人久久久精品乱码一区二区三区| 亚洲激情网站免费观看| 日韩视频一区二区| 不卡的看片网站| 日韩中文字幕不卡| 国产精品久久久久久久久动漫 | 中文字幕一区视频| 538prom精品视频线放| 国产成人精品影院| 香蕉av福利精品导航 | 日韩精品一级二级| 国产精品视频在线看| 欧美一区三区二区| 99久久久国产精品免费蜜臀| 日本不卡在线视频| 亚洲欧洲制服丝袜| 久久综合一区二区| 欧美视频一二三区| 99热精品国产| 九九精品视频在线看| 亚洲第四色夜色| 中文字幕欧美三区| 欧美一区二区三区的| 色哦色哦哦色天天综合| 国产一区91精品张津瑜| 日日夜夜免费精品视频| 亚洲少妇中出一区| 日本一区二区成人在线|