1/*
2 * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
3 */
4/*
5 * Task.xs contains XS wrappers for the task maniplulation functions.
6 */
7
8/* Solaris includes. */
9#include <sys/task.h>
10
11/* Perl includes. */
12#include "EXTERN.h"
13#include "perl.h"
14#include "XSUB.h"
15
16/*
17 * The XS code exported to perl is below here.  Note that the XS preprocessor
18 * has its own commenting syntax, so all comments from this point on are in
19 * that form.
20 */
21
22MODULE = Sun::Solaris::Task PACKAGE = Sun::Solaris::Task
23PROTOTYPES: ENABLE
24
25 #
26 # Define any constants that need to be exported.  By doing it this way we can
27 # avoid the overhead of using the DynaLoader package, and in addition constants
28 # defined using this mechanism are eligible for inlining by the perl
29 # interpreter at compile time.
30 #
31BOOT:
32	{
33	HV *stash;
34
35	stash = gv_stashpv("Sun::Solaris::Task", TRUE);
36	newCONSTSUB(stash, "TASK_NORMAL", newSViv(TASK_NORMAL));
37	newCONSTSUB(stash, "TASK_FINAL", newSViv(TASK_FINAL));
38	newCONSTSUB(stash, "TASK_PROJ_PURGE", newSViv(TASK_PROJ_PURGE));
39	}
40
41taskid_t
42settaskid(project, flags)
43	projid_t	project
44	int		flags
45
46taskid_t
47gettaskid()
48
49