-- --
-- S p e c --
-- --
--- Copyright (C) 2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2008-2011, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
package System.VxWorks.Ext is
pragma Preelaborate;
+ subtype SEM_ID is Long_Integer;
+ -- typedef struct semaphore *SEM_ID;
+
+ type sigset_t is mod 2 ** Long_Long_Integer'Size;
+
type t_id is new Long_Integer;
subtype int is Interfaces.C.int;
+ subtype unsigned is Interfaces.C.unsigned;
type Interrupt_Handler is access procedure (parameter : System.Address);
pragma Convention (C, Interrupt_Handler);
Parameter : System.Address := System.Null_Address) return int;
pragma Convention (C, Interrupt_Connect);
+ function Interrupt_Context return int;
+ pragma Convention (C, Interrupt_Context);
+
function Interrupt_Number_To_Vector
(intNum : int) return Interrupt_Vector;
pragma Convention (C, Interrupt_Number_To_Vector);
+ function semDelete (Sem : SEM_ID) return int;
+ pragma Convention (C, semDelete);
+
function Task_Cont (tid : t_id) return int;
pragma Import (C, Task_Cont, "taskResume");
function Set_Time_Slice (ticks : int) return int;
pragma Inline (Set_Time_Slice);
+ --------------------------------
+ -- Processor Affinity for SMP --
+ --------------------------------
+
+ function taskCpuAffinitySet (tid : t_id; CPU : int) return int;
+ pragma Convention (C, taskCpuAffinitySet);
+ -- For SMP run-times set the CPU affinity.
+ -- For uniprocessor systems return ERROR status.
+
+ function taskMaskAffinitySet (tid : t_id; CPU_Set : unsigned) return int;
+ pragma Convention (C, taskMaskAffinitySet);
+ -- For SMP run-times set the CPU mask affinity.
+ -- For uniprocessor systems return ERROR status.
+
end System.VxWorks.Ext;