📄 os_core.lst
字号:
605 E OS_Q *OSQFreeList;
606 E OS_Q OSQTbl[2];
607 #endif
608
609 E #if 0 > 0
610 X OS_EXT volatile INT32U OSTime; /* Current value of system time (in ticks) */
611 #endif
612
613
614 extern INT8U const OSUnMapTbl[256]; /* Priority->Index lookup table */
615
616 /*$PAGE*/
617 /*
618 *********************************************************************************************************
619 * FUNCTION PROTOTYPES
620 * (Target Independent Functions)
621 *********************************************************************************************************
622 */
623
624 /*
625 *********************************************************************************************************
626 * MISCELLANEOUS
627 *********************************************************************************************************
628 */
629
630 E #if (((1 > 0) && (2 > 0)) || (1 > 0) || (1 > 0) || (1 > 0)) && (0 > 1)
631 X INT8U OSEventNameGet(OS_EVENT *pevent, INT8U *pname, INT8U *err);
632 X void OSEventNameSet(OS_EVENT *pevent, INT8U *pname, INT8U *err);
633 #endif
634
635 /*
636 *********************************************************************************************************
637 * EVENT FLAGS MANAGEMENT
638 *********************************************************************************************************
639 */
640
641 E #if (280u >= 251) && (1 > 0) && (0 > 0)
642 X
643 X #if OS_FLAG_ACCEPT_EN > 0
644 X OS_FLAGS OSFlagAccept(OS_FLAG_GRP *pgrp, OS_FLAGS flags, INT8U wait_type, INT8U *err);
645 X #endif
646 X
647 X OS_FLAG_GRP *OSFlagCreate(OS_FLAGS flags, INT8U *err);
648 X
649 X #if OS_FLAG_DEL_EN > 0
650 X OS_FLAG_GRP *OSFlagDel(OS_FLAG_GRP *pgrp, INT8U opt, INT8U *err);
651 X #endif
652 X
653 X #if (OS_FLAG_EN > 0) && (OS_FLAG_NAME_SIZE > 1)
654 X INT8U OSFlagNameGet(OS_FLAG_GRP *pgrp, INT8U *pname, INT8U *err);
655 X void OSFlagNameSet(OS_FLAG_GRP *pgrp, INT8U *pname, INT8U *err);
656 X #endif
657 X
658 X OS_FLAGS OSFlagPend(OS_FLAG_GRP *pgrp, OS_FLAGS flags, INT8U wait_type, INT16U timeout, INT8U *err);
659 X OS_FLAGS OSFlagPendGetFlagsRdy(void);
660 X OS_FLAGS OSFlagPost(OS_FLAG_GRP *pgrp, OS_FLAGS flags, INT8U opt, INT8U *err);
661 X
662 X #if OS_FLAG_QUERY_EN > 0
663 X OS_FLAGS OSFlagQuery(OS_FLAG_GRP *pgrp, INT8U *err);
664 X #endif
665 #endif
666
667 /*
668 *********************************************************************************************************
669 * MESSAGE MAILBOX MANAGEMENT
670 *********************************************************************************************************
671 */
672
673 E #if 1 > 0
674
675 E #if 1 > 0
676 void *OSMboxAccept(OS_EVENT *pevent);
677 #endif
678
679 OS_EVENT *OSMboxCreate(void *msg);
680
681 E #if 1 > 0
682 OS_EVENT *OSMboxDel(OS_EVENT *pevent, INT8U opt, INT8U *err);
683 #endif
684
685 void *OSMboxPend(OS_EVENT *pevent, INT16U timeout, INT8U *err);
686
687 E #if 1 > 0
688 INT8U OSMboxPost(OS_EVENT *pevent, void *msg);
689 #endif
690
691 E #if 1 > 0
692 INT8U OSMboxPostOpt(OS_EVENT *pevent, void *msg, INT8U opt);
693 #endif
694
695 E #if 1 > 0
696 INT8U OSMboxQuery(OS_EVENT *pevent, OS_MBOX_DATA *p_mbox_data);
697 #endif
698 #endif
699
700 /*
701 *********************************************************************************************************
702 * MEMORY MANAGEMENT
703 *********************************************************************************************************
704 */
705
706 E #if (1 > 0) && (0 > 0)
707 X
708 X OS_MEM *OSMemCreate(void *addr, INT32U nblks, INT32U blksize, INT8U *err);
709 X void *OSMemGet(OS_MEM *pmem, INT8U *err);
710 X #if OS_MEM_NAME_SIZE > 1
711 X INT8U OSMemNameGet(OS_MEM *pmem, INT8U *pname, INT8U *err);
712 X void OSMemNameSet(OS_MEM *pmem, INT8U *pname, INT8U *err);
713 X #endif
714 X INT8U OSMemPut(OS_MEM *pmem, void *pblk);
715 X
716 X #if OS_MEM_QUERY_EN > 0
717 X INT8U OSMemQuery(OS_MEM *pmem, OS_MEM_DATA *p_mem_data);
718 X #endif
719 X
720 #endif
721
722 /*
723 *********************************************************************************************************
724 * MUTUAL EXCLUSION SEMAPHORE MANAGEMENT
725 *********************************************************************************************************
726 */
727
728 E #if 1 > 0
729
730 E #if 1 > 0
731 INT8U OSMutexAccept(OS_EVENT *pevent, INT8U *err);
732 #endif
733
734 OS_EVENT *OSMutexCreate(INT8U prio, INT8U *err);
735
736 E #if 1 > 0
737 OS_EVENT *OSMutexDel(OS_EVENT *pevent, INT8U opt, INT8U *err);
738 #endif
739
740 void OSMutexPend(OS_EVENT *pevent, INT16U timeout, INT8U *err);
741 INT8U OSMutexPost(OS_EVENT *pevent);
742
743 E #if 1 > 0
744 INT8U OSMutexQuery(OS_EVENT *pevent, OS_MUTEX_DATA *p_mutex_data);
745 #endif
746
747 #endif
748
749 /*$PAGE*/
750 /*
751 *********************************************************************************************************
752 * MESSAGE QUEUE MANAGEMENT
753 *********************************************************************************************************
754 */
755
756 E #if (1 > 0) && (2 > 0)
757
758 E #if 1 > 0
759 void *OSQAccept(OS_EVENT *pevent, INT8U *err);
760 #endif
761
762 OS_EVENT *OSQCreate(void **start, INT16U size);
763
764 E #if 1 > 0
765 OS_EVENT *OSQDel(OS_EVENT *pevent, INT8U opt, INT8U *err);
766 #endif
767
768 E #if 1 > 0
769 INT8U OSQFlush(OS_EVENT *pevent);
770 #endif
771
772 void *OSQPend(OS_EVENT *pevent, INT16U timeout, INT8U *err);
773
774 E #if 1 > 0
775 INT8U OSQPost(OS_EVENT *pevent, void *msg);
776 #endif
777
778 E #if 1 > 0
779 INT8U OSQPostFront(OS_EVENT *pevent, void *msg);
780 #endif
781
782 E #if 1 > 0
783 INT8U OSQPostOpt(OS_EVENT *pevent, void *msg, INT8U opt);
784 #endif
785
786 E #if 1 > 0
787 INT8U OSQQuery(OS_EVENT *pevent, OS_Q_DATA *p_q_data);
788 #endif
789
790 #endif
791
792 /*$PAGE*/
793 /*
794 *********************************************************************************************************
795 * SEMAPHORE MANAGEMENT
796 *********************************************************************************************************
797 */
798 E #if 1 > 0
799
800 E #if 1 > 0
801 INT16U OSSemAccept(OS_EVENT *pevent);
802 #endif
803
804 OS_EVENT *OSSemCreate(INT16U cnt);
805
806 E #if 1 > 0
807 OS_EVENT *OSSemDel(OS_EVENT *pevent, INT8U opt, INT8U *err);
808 #endif
809
810 void OSSemPend(OS_EVENT *pevent, INT16U timeout, INT8U *err);
811 INT8U OSSemPost(OS_EVENT *pevent);
812
813 E #if 1 > 0
814 INT8U OSSemQuery(OS_EVENT *pevent, OS_SEM_DATA *p_sem_data);
815 #endif
816
817 E #if 1 > 0
818 v
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -