summaryrefslogblamecommitdiff
path: root/Source/Library/Interface/Process.iface.h
blob: 261afa720e428bfe80ac6ce73f9a8a420cba26ae (plain) (tree)
1
2
3
4
5
6
7
8


                           

                               
                         

                                                  


                                                                                            
 
                                                                      

                                                                                

                                                                          
                                                                         
 

                                                                                 
 




                                                                                                            
 
                                                                   

                                                                                                                
 
      
#ifndef DEF_PROCESS_IFACE_H
#define DEF_PROCESS_IFACE_H

#define E_AUTODELETE 0x0FFFFF03

#define PRIF_OBJTYPE 0x20

//S = static, GET = get, C = current, PR = process
#define PRIF_SGETCPR 0	//Get current process (R) | no arguments
#define PRIF_SRUN 1	//Run a new process (R) | S:executable_name
#define PRIF_SWAIT 2	//Wait for a process to end (i:return value) | R:process to wait for

#define PRIF_EXIT 0x01	//Exit from current process (v) | no arguments
#define PRIF_ALLOCPAGES 0x02	//Allocate frames for pages (v) | i:start, i:end
#define PRIF_FREEPAGES 0x03	//Free frames for pages (v) | i:start, i:end
#define PRIF_GETPID 0x04	//Get PID of a process (i) | no arguments
#define PRIF_GETPPID 0x05	//Get PPID of a process (i) | no arguments
#define PRIF_GETUID 0x06	//Get UID of a process (i) | no arguments

#define PRIF_ARGC 0x10	//Get argument count for a process (i) | no arguments
#define PRIF_ARGV 0x11	//Get argument value for a process (S) | i:argument_index

#define PRIF_START 0x20	//Start execution of a child process (v) | no arguments
#define PRIF_AUTODELETE 0x21	//Set a child to auto-delete itself when it ends (v) | b:does it autodelete?
#define PRIF_PUSHARG 0x28	//Push an argument to a child process (v) | S:argument
#define PRIF_SETOUTVT 0x29	//Set output VirtualTerminal for a child process (v) | r:virtual terminal
#define PRIF_SETINVT 0x30	//Set input VirtualTerminal for a child process (v) | r:virtual terminal

//Authenticate with password/without password (being in group root)
#define PRIF_AUTHPW 0x40	//Authenticate current process to a user (b:succeeded?) | S:username, S:password
#define PRIF_AUTHNOPW 0x41	//Authenticate to a user without password, root only (b:succeeded?) | S:username

#endif