Don't use safe_new but new throughout. Fix copyright dates
throughout. * Makefile.in: Accomodate all new files and name changes. Add a *.d dependency. (sbindir): Add. (etcdir): Drop in favor of more appropriate sysconfdir definition. (sysconfdir): Add. (CXXFLAGS): Add -MMD flag. Add SYSCONFDIR definition. (.SUFFIXES): Add. (install): Add action items. (libclean): New target. (fullclean): Ditto. * bsd_helper.cc: New file. * bsd_helper.h: Ditto. * bsd_log.cc: Ditto. * bsd_log.h: Ditto. * bsd_mutex.cc: Ditto. * bsd_mutex.h: Ditto. * client.cc: Rearrange to build as less as possible if __INSIDE_CYGWIN__. (client_request::handle_request): Add Message Queue and Semaphore handling. * cygserver.cc: Rearrange to build as less as possible if __INSIDE_CYGWIN__. Use new debug/log/panic logging functions. (DEF_CONFIG_FILE): New definition for configuration file. Use throughout. (getfunc): Remove. (__cygserver__printf): Remove. (client_request_attach_tty::serve): Return error if impersonation fails. (print_usage): Pump up help message. (print_version): Add output of default configuration file. (main): Accommodate new options. Allow overwrite of threading options from config file. Call several new initialization functions. Drop printing dots. Don't define SIGHANDLE inline. * cygserver.conf: New file. * cygserver_process.h: Rename to process.h. * cygserver_transport.h: Rename to transport.h. * cygserver_transport_pipes.h: Rename to transport_pipes.h. * cygserver_transport_sockets.h: Rename to transport_sockets.h. * msg.cc: Rewrite. * sem.cc: Rewrite. * shm.cc: Rewrite. * sysv_msg.cc: New file, derived from FreeBSD version 1.52. * sysv_sem.cc: New file, derived from FreeBSD version 1.66. * sysv_shm.cc: New file, derived from FreeBSD version 1.89. * threaded_queue.cc: Rearrange to build as less as possible if __INSIDE_CYGWIN__. * transport.cc (transport_layer_base::impersonate_client): Define bool. (transport_layer_base::revert_to_self): Ditto. * transport.h (transport_layer_base::impersonate_client): Declare bool. (transport_layer_base::revert_to_self): Ditto. * transport_pipes.cc (transport_layer_pipes::transport_layer_pipes): Don't call init_security. (init_security): Remove. (transport_layer_pipes::accept): Use global sec_all_nih. (transport_layer_pipes::connect): Ditto. (transport_layer_pipes::impersonate_client): Define bool. (transport_layer_pipes::revert_to_self): Ditt. * transport_pipes.h (transport_layer_pipes::impersonate_client): Declare bool. (transport_layer_pipes::revert_to_self): Ditto. * woutsup.h: Include bsd compatibility headers. (SIGHANDLE): Add definition. (__cygserver__printf): Remove definition. (__noop_printf): Ditto. (debug_printf): Define using debug. (syscall_printf): Define using log. (system_printf): Ditto. Drop all other _printf definitions.
This commit is contained in:
		
							
								
								
									
										63
									
								
								winsup/cygserver/bsd_helper.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								winsup/cygserver/bsd_helper.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| /* bsd_helper.h: Helps integrating BSD kernel code | ||||
|  | ||||
|    Copyright 2003 Red Hat, Inc. | ||||
|  | ||||
| This file is part of Cygwin. | ||||
|  | ||||
| This software is a copyrighted work licensed under the terms of the | ||||
| Cygwin license.  Please consult the file "CYGWIN_LICENSE" for | ||||
| details. */ | ||||
| #ifndef _BSD_HELPER_H | ||||
| #define _BSD_HELPER_H | ||||
|  | ||||
| #include <sys/types.h> | ||||
| #include <sys/syslog.h> | ||||
|  | ||||
| enum tun_bool_t { | ||||
|   TUN_UNDEF = 0, | ||||
|   TUN_FALSE = 1, | ||||
|   TUN_TRUE  = 2 | ||||
| }; | ||||
|  | ||||
| #define TUNABLE_INT_FETCH(a,b)	tunable_int_fetch((a),(b)) | ||||
| #define TUNABLE_BOOL_FETCH(a,b)	tunable_bool_fetch((a),(b)) | ||||
|  | ||||
| #define sys_malloc(a,b,c) (malloc(a)?:(panic("malloc failed in %s, line %d"),(void*)NULL)) | ||||
| #define sys_free(a,b) free(a) | ||||
|  | ||||
| #define jail_sysvipc_allowed true | ||||
| #define jailed(a) false | ||||
|  | ||||
| extern const char *__progname; | ||||
|  | ||||
| /* Global vars, determining whether the IPC stuff should be started or not. */ | ||||
| extern tun_bool_t support_sharedmem; | ||||
| extern tun_bool_t support_msgqueues; | ||||
| extern tun_bool_t support_semaphores; | ||||
|  | ||||
| extern SECURITY_ATTRIBUTES sec_all_nih; | ||||
|  | ||||
| int win_copyin (struct thread *, const void *, void *, size_t); | ||||
| int win_copyout (struct thread *, const void *, void *, size_t); | ||||
| #define copyin(a,b,c) win_copyin((td),(a),(b),(c)) | ||||
| #define copyout(a,b,c) win_copyout((td),(a),(b),(c)) | ||||
|  | ||||
| int ipcperm (struct thread *, struct ipc_perm *, unsigned int); | ||||
| int suser (struct thread *); | ||||
| bool adjust_identity_info (struct proc *p); | ||||
|  | ||||
| struct vmspace *ipc_p_vmspace (struct proc *); | ||||
| int ipcexit_creat_hookthread(struct thread *); | ||||
| void ipcinit (void); | ||||
| int ipcunload (void); | ||||
|  | ||||
| vm_object_t _vm_pager_allocate (int, int); | ||||
| #define vm_pager_allocate(a,b,s,c,d) _vm_pager_allocate((s),(mode)) | ||||
| vm_object_t vm_object_duplicate (struct thread *td, vm_object_t object); | ||||
| void vm_object_deallocate (vm_object_t object); | ||||
|  | ||||
| void tunable_param_init (const char *, bool); | ||||
| void tunable_int_fetch (const char *, long *); | ||||
| void tunable_bool_fetch (const char *, tun_bool_t *); | ||||
|  | ||||
| #endif /* _BSD_HELPER_H */ | ||||
		Reference in New Issue
	
	Block a user