1------------------------------------------------------------------------------ 2-- -- 3-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- 4-- -- 5-- S Y S T E M . V X W O R K S . E X T -- 6-- -- 7-- B o d y -- 8-- -- 9-- Copyright (C) 2008-2018, Free Software Foundation, Inc. -- 10-- -- 11-- GNAT is free software; you can redistribute it and/or modify it under -- 12-- terms of the GNU General Public License as published by the Free Soft- -- 13-- ware Foundation; either version 3, or (at your option) any later ver- -- 14-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 15-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- 16-- or FITNESS FOR A PARTICULAR PURPOSE. -- 17-- -- 18-- As a special exception under Section 7 of GPL version 3, you are granted -- 19-- additional permissions described in the GCC Runtime Library Exception, -- 20-- version 3.1, as published by the Free Software Foundation. -- 21-- -- 22-- You should have received a copy of the GNU General Public License and -- 23-- a copy of the GCC Runtime Library Exception along with this program; -- 24-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- 25-- <http://www.gnu.org/licenses/>. -- 26-- -- 27------------------------------------------------------------------------------ 28 29-- This package provides VxWorks specific support functions needed 30-- by System.OS_Interface. 31 32-- This is the VxWorks 6 RTP/SMP version of this package 33 34package body System.VxWorks.Ext is 35 36 ERROR : constant := -1; 37 38 -------------- 39 -- Int_Lock -- 40 -------------- 41 42 function Int_Lock return int is 43 begin 44 return ERROR; 45 end Int_Lock; 46 47 ---------------- 48 -- Int_Unlock -- 49 ---------------- 50 51 function Int_Unlock (Old : int) return int is 52 pragma Unreferenced (Old); 53 begin 54 return ERROR; 55 end Int_Unlock; 56 57 ----------------------- 58 -- Interrupt_Connect -- 59 ----------------------- 60 61 function Interrupt_Connect 62 (Vector : Interrupt_Vector; 63 Handler : Interrupt_Handler; 64 Parameter : System.Address := System.Null_Address) return int 65 is 66 pragma Unreferenced (Vector, Handler, Parameter); 67 begin 68 return ERROR; 69 end Interrupt_Connect; 70 71 ----------------------- 72 -- Interrupt_Context -- 73 ----------------------- 74 75 function Interrupt_Context return int is 76 begin 77 -- For RTPs, never in an interrupt context 78 79 return 0; 80 end Interrupt_Context; 81 82 -------------------------------- 83 -- Interrupt_Number_To_Vector -- 84 -------------------------------- 85 86 function Interrupt_Number_To_Vector 87 (intNum : int) return Interrupt_Vector 88 is 89 pragma Unreferenced (intNum); 90 begin 91 return 0; 92 end Interrupt_Number_To_Vector; 93 94 --------------- 95 -- semDelete -- 96 --------------- 97 98 function semDelete (Sem : SEM_ID) return int is 99 function OS_semDelete (Sem : SEM_ID) return int; 100 pragma Import (C, OS_semDelete, "semDelete"); 101 begin 102 return OS_semDelete (Sem); 103 end semDelete; 104 105 -------------------- 106 -- Set_Time_Slice -- 107 -------------------- 108 109 function Set_Time_Slice (ticks : int) return int is 110 pragma Unreferenced (ticks); 111 begin 112 return ERROR; 113 end Set_Time_Slice; 114 115 ------------------------ 116 -- taskCpuAffinitySet -- 117 ------------------------ 118 119 function taskCpuAffinitySet (tid : t_id; CPU : int) return int 120 is 121 function Set_Affinity (tid : t_id; CPU : int) return int; 122 pragma Import (C, Set_Affinity, "__gnat_set_affinity"); 123 begin 124 return Set_Affinity (tid, CPU); 125 end taskCpuAffinitySet; 126 127 ------------------------- 128 -- taskMaskAffinitySet -- 129 ------------------------- 130 131 function taskMaskAffinitySet (tid : t_id; CPU_Set : unsigned) return int is 132 function Set_Affinity (tid : t_id; CPU_Set : unsigned) return int; 133 pragma Import (C, Set_Affinity, "__gnat_set_affinity_mask"); 134 begin 135 return Set_Affinity (tid, CPU_Set); 136 end taskMaskAffinitySet; 137 138end System.VxWorks.Ext; 139