epoc32/include/stdapis/spawn.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2 * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:
    15 * 
    16 *
    17 */
    18 
    19 
    20 
    21 #ifndef	_SPAWN_H_
    22 #define	_SPAWN_H_
    23 
    24 #include <signal.h>
    25 #include <sys/types.h>
    26 #include <sched.h>
    27 
    28 typedef struct {
    29 	short _flags;
    30 	pid_t _pgrp;
    31 	sigset_t _sd;
    32 	sigset_t _sm;
    33 	struct sched_param _sp;
    34 	int _policy;
    35 } posix_spawnattr_t;
    36 
    37 /* Flags that can be set in posix_spawnattr_t */
    38 #define POSIX_SPAWN_RESETIDS		0x01
    39 #define POSIX_SPAWN_SETPGROUP		0x02
    40 #define POSIX_SPAWN_SETSIGDEF		0x04
    41 #define POSIX_SPAWN_SETSIGMASK		0x08
    42 #define POSIX_SPAWN_SETSCHEDPARAM	0x10
    43 #define POSIX_SPAWN_SETSCHEDULER	0x20
    44 
    45 // forward declaration
    46 struct file_actions_t;
    47 typedef struct {
    48 	int _cnt;
    49 	struct file_actions_t* _fa;
    50 } posix_spawn_file_actions_t;
    51 
    52 __BEGIN_DECLS
    53 
    54 IMPORT_C int posix_spawn(pid_t* pid, const char* path,
    55 				const posix_spawn_file_actions_t* file_actions,
    56 				const posix_spawnattr_t* attrp, char *const argv[],
    57 				char *const envp[]);
    58 				
    59 IMPORT_C int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t* file_actions,
    60 				int fid);
    61 				
    62 IMPORT_C int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t* file_actions,
    63 				int fid1, int fid2);
    64 				
    65 IMPORT_C int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t* file_actions,
    66           		int fid, const char* path, int oflag, mode_t mode);
    67           		
    68 IMPORT_C int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t* file_actions);
    69 
    70 IMPORT_C int posix_spawn_file_actions_init(posix_spawn_file_actions_t* file_actions);
    71 
    72 IMPORT_C int posix_spawnattr_destroy(posix_spawnattr_t* attrp);
    73 
    74 IMPORT_C int posix_spawnattr_getsigdefault(const posix_spawnattr_t* attrp, 
    75 				sigset_t* sigdefault);
    76 									
    77 IMPORT_C int posix_spawnattr_getflags(const posix_spawnattr_t* attrp, short* flags);
    78 
    79 IMPORT_C int posix_spawnattr_getpgroup(const posix_spawnattr_t* attrp, pid_t* pgroup);
    80 
    81 IMPORT_C int posix_spawnattr_getschedparam(const posix_spawnattr_t* attrp,
    82           		struct sched_param* schedparam);
    83           		
    84 IMPORT_C int posix_spawnattr_getschedpolicy(const posix_spawnattr_t* attrp, int* policy);
    85 
    86 IMPORT_C int posix_spawnattr_getsigmask(const posix_spawnattr_t* attrp, sigset_t* sigmask);
    87 
    88 IMPORT_C int posix_spawnattr_init(posix_spawnattr_t* attrp);
    89 
    90 IMPORT_C int posix_spawnattr_setsigdefault(posix_spawnattr_t* attrp,
    91 				const sigset_t* sigdefault);
    92 
    93 IMPORT_C int posix_spawnattr_setflags(posix_spawnattr_t* attrp, short flags);
    94 
    95 IMPORT_C int posix_spawnattr_setpgroup(posix_spawnattr_t* attrp, pid_t pgroup);
    96 
    97 IMPORT_C int posix_spawnattr_setschedparam(posix_spawnattr_t* attrp,
    98 				const struct sched_param* schedparam);
    99 				
   100 IMPORT_C int posix_spawnattr_setschedpolicy(posix_spawnattr_t* attrp, int policy);
   101 
   102 IMPORT_C int posix_spawnattr_setsigmask(posix_spawnattr_t* attrp, const sigset_t* sigmask);
   103           
   104 __END_DECLS
   105 
   106 #endif /* _SPAWN_H_ */