summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/include
Commit message (Collapse)AuthorAgeFilesLines
* * fhandler.h (class fhandler_dev_raw): Add members devbufalloc andCorinna Vinschen2012-10-131-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | devbufalign. (class fhandler_dev_floppy): Remove member bytes_per_sector; * fhandler_floppy.cc (bytes_per_sector): Define as devbufalign. (fhandler_dev_floppy::open): Set devbufalign to a multiple of the sector size and handle devbuf allocation and alignment in !O_DIRECT case here. Change comment accordingly. Call FSCTL_ALLOW_EXTENDED_DASD_IO for partitions as well. (fhandler_dev_floppy::raw_write): Fix comment. Rewrite and fix writing behaviour when application uses read and lseek. (fhandler_dev_floppy::lseek): Use rounddown macro. Call SetFilePointerEx rather than the old SetFilePointer. (fhandler_dev_floppy::ioctl): Reformat switch. Call IOCTL_DISK_UPDATE_PROPERTIES rather than IOCTL_DISK_UPDATE_DRIVE_SIZE in BLKRRPART case. Support BLKIOMIN, BLKIOOPT, BLKPBSZGET and BLKALIGNOFF. * fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Initialize all devbuf-related members. (fhandler_dev_raw::~fhandler_dev_raw): Delete devbufalloc rather than devbuf. (fhandler_dev_raw::open): Drop allocating devbuf. (fhandler_dev_raw::dup): Allocate devbufalloc and set devbuf to support new sector-aligned devbuf handling. (fhandler_dev_raw::fixup_after_exec): Ditto. * fhandler_tape.cc (fhandler_dev_tape::open): Ditto, set devbufalign to 1. * include/cygwin/fs.h (BLKIOMIN): Define. (BLKIOOPT): Define. (BLKALIGNOFF): Define. (BLKPBSZGET): Define.
* * include/cygwin/in.h (struct in_addr): Guard with s_addr to avoidCorinna Vinschen2012-10-101-0/+4
| | | | potential collision with Win32 headers.
* * fhandler_clipboard.cc (fhandler_dev_clipboard::read): UseCorinna Vinschen2012-08-171-2/+1
| | | | | | read-ahead buffer for reading Windows clipboard if caller's buffer is too small for complete characters. * include/limits.h: Remove outdated TODO comment.
* * include/sys/wait.h (_wait): Define when building newlib.Corinna Vinschen2012-08-081-1/+5
|
* * include/cygwin/socket.h (MSG_BCAST): Define.Corinna Vinschen2012-08-011-0/+3
| | | | (MSG_MCAST): Define.
* * include/inttypes.h: Add x86_64 target considerations throughout.Corinna Vinschen2012-07-282-91/+224
| | | | | Define macros in C++ according to C99 requirements. * include/stdint.h: Ditto.
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 17.Christopher Faylor2012-07-211-1/+1
|
* * cygwin.din (getmntent_r): Export.Corinna Vinschen2012-07-182-1/+3
| | | | | | | * mount.cc (getmntent_r): New function. * posix.sgml (std-gnu): Add getmntent_r. * include/mntent.h (getmntent_r): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* In terms of network related functionality, rely on Winsock definitionsCorinna Vinschen2012-07-064-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as much as possible: * dtable.cc: Drop including sys/socket.h. * fhandler_procnet.cc: Change includes accordingly. * fhandler_socket.cc: Ditto. (fhandler_socket::listen): Avoid gcc error message initializing sin6. (LPFN_WSARECVMSG): Only define when building against w32api headers. * net.cc: Change includes accordingly. Define USE_SYS_TYPES_FD_SET and __WSA_ERR_MACROS_DEFINED. Define _INC_NETIOAPI temporarily and explain why. (struct _IP_ADAPTER_UNICAST_ADDRESS_LH): Only define when building against w32api headers. (struct _IP_ADAPTER_ADDRESSES_LH): Ditto. (SIO_GET_INTERFACE_LIST): Ditto. (ws_freeaddrinfo): Rename from freeaddrinfo so as not to collide with Winsock declaration. Change througout. (ws_getaddrinfo): Ditto. (ws_getnameinfo): Ditto. * select.cc: Include netdb.h after defining USE_SYS_TYPES_FD_SET. * syslog.cc: Drop including netinet/in.h. Define USE_SYS_TYPES_FD_SET and include ws2tcpip.h. * include/netdb.h (struct addrinfo): Don't define when building Cygwin. * include/cygwin/if.h: Don't declare if_xxx functions when building Cygwin. * include/cygwin/in.h: Disable most definitions when building Cygwin. * include/cygwin/socket.h: Disable sockaddr and sockaddr_storage definitions when building Cygwin. Same for MCAST_INCLUDE/MCAST_EXCLUDE. * libc/inet_addr.c: Don't define __INSIDE_CYGWIN__ nor __INSIDE_CYGWIN_NET__. * libc/inet_network.c: Ditto. * libc/minires.h: Drop redundant inclusion of netdb.h. Define __INSIDE_CYGWIN_NET__ only before including netdb.h and resolver headers.
* * include/sys/elf_common.h (R_386_16): Define.Yaakov Selkowitz2012-06-101-0/+4
| | | | | | (R_386_PC16): Define. (R_386_8): Define. (R_386_PC8): Define.
* * include/elf.h: Update from FreeBSD.Yaakov Selkowitz2012-06-067-245/+1388
| | | | | | | | | | | | * include/machine/elf.h: New header, from FreeBSD. * include/sys/elf.h: Ditto. * include/sys/elf32.h: Update from FreeBSD. * include/sys/elf64.h: Ditto. * include/sys/elf_common.h: Ditto. (R_IA64_*): Define Linux-style names as aliases to R_IA_64_*. (R_SH_*): Define, based on sh-4 psABI. (R_390_*): Define, based on s390x psABI. * include/sys/elf_generic.h: Ditto.
* * cygwin.din (memrchr): Export.Corinna Vinschen2012-05-101-1/+2
| | | | | * posix.sgml (std-gnu): Add memrchr. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 16.Corinna Vinschen2012-05-101-1/+1
|
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 15.Corinna Vinschen2012-04-241-1/+1
|
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 14.Corinna Vinschen2012-04-051-1/+1
|
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 13.Corinna Vinschen2012-04-031-1/+1
|
* * ntdll.h (SharedUserData): Add volatile qualifier. This fixes aCorinna Vinschen2012-03-201-3/+3
| | | | possible infinite loop in hires_ms::timeGetTime_ns.
* * include/netdb.h (h_errno): Add self-referencing macro and comment.Corinna Vinschen2012-03-131-0/+3
|
* tcgetsid: fix return typeEric Blake2012-02-281-2/+4
| | | | | | | | * include/sys/termios.h (tcgetsid): Fix return type. * termios.cc (tcgetsid): Likewise. * fhandler_termios.cc (fhandler_termios::tcgetsid): Likewise. * fhandler.h (fhandler_base): Likewise. * fhandler.cc (fhandler_base::tcgetsid): Likewise.
* * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 12.Christopher Faylor2012-02-251-1/+1
|
* * cygwin.din (scandirat): Export.Yaakov Selkowitz2012-02-222-2/+7
| | | | | | | * posix.sgml (std-gnu): Add scandirat. * syscalls.cc (scandirat): New function. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * include/sys/dirent.h (scandirat): Declare.
* * include/pthread.h: Include time.h as required by POSIX.Yaakov Selkowitz2012-02-131-1/+2
|
* * include/sys/wait.h: Remove C++ inline functions for `union wait'. For C++Christopher Faylor2012-02-081-16/+10
| | | | | use `void *' as __wait_status_ptr_t instead. This is less type safe but fixes compile error on `wait(NULL)'. Remove extra `;'.
* * include/sys/sysmacros.h: Include sys/types.h.Corinna Vinschen2012-02-081-1/+3
|
* * include/process.h: Move here from include/cygwin subdir.Corinna Vinschen2012-02-071-0/+0
| | | | | | | * exec.cc: Change include of process.h to reflect the fact that it's now back in include. * spawn.cc: Ditto. * syscalls.cc: Ditto.
* * include/cygwin/version.h: Bump CYGWIN_VERSION_DLL_MINOR to 11.Christopher Faylor2012-02-071-1/+1
|
* * include/cygwin/config.h (_GLIBC_EXTENSION): Define.Yaakov Selkowitz2012-01-131-0/+1
|
* Update copyright on all files checked in so far this year.Christopher Faylor2012-01-111-1/+1
| | | | | | | | | | | | | | | | | * fhandler.h: Use #pragma once rather than ifdef guards. (fhandler_console::tc_getpgid): Return our pgid if we have never opened a console. * fork.cc: Rearrange includes to accommodate fhandler.h use of pinfo.h. * sigproc.cc: Ditto. * spawn.cc: Ditto. (child_info_spawn::worker): Query myself->pgid rather than calling expensive function. * thread.h: Use #pragma once rather than ifdef guards. * pinfo.h: Use #pragma once rather than ifdef guards. (pinfo::remember): Don't define if sigproc.h has not been included. (pinfo::reattach): Ditto. * sigproc.h: Use #pragma once rather than ifdef guards. Use different test to see if pinfo.h has been included.
* * include/cygwin/process.h: Move here from newlib.Corinna Vinschen2012-01-091-0/+43
| | | | | | | * exec.cc: Change include of process.h to reflect the fact that it's now in the include/cygwin subfolder. * spawn.cc: Ditto. * syscalls.cc: Ditto.
* * cygwin.din (pthread_sigqueue): Export.Yaakov Selkowitz2012-01-062-1/+3
| | | | | | | * posix.sgml (std-gnu): Add pthread_sigqueue. * thread.cc (pthread_sigqueue): New function. * include/thread.h (pthread_sigqueue): New function. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (get_current_dir_name): Export.Yaakov Selkowitz2012-01-011-1/+2
| | | | | | * path.cc (get_current_dir_name): New function. * posix.sgml (std-gnu): Add get_current_dir_name. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (getpt): Export.Yaakov Selkowitz2011-12-302-1/+3
| | | | | | | * posix.sgml (std-gnu): Add getpt. * tty.cc (getpt): New function. * include/cygwin/stdlib.h [!__STRICT_ANSI__] (getpt): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * external.cc (cygwin_internal): Implement CW_ALLOC_DRIVE_MAP,Corinna Vinschen2011-12-222-2/+6
| | | | | | | | | | | | | | | CW_MAP_DRIVE_MAP, CW_FREE_DRIVE_MAP. * fhandler_process.cc: Include mount.h. (get_volume_path_names_for_volume_name): Move to mount.cc. (struct dos_drive_mappings): Ditto. * mount.cc (get_volume_path_names_for_volume_name): Move here. (dos_drive_mappings::dos_drive_mappings): Ditto. (dos_drive_mappings::fixup_if_match): Ditto. (dos_drive_mappings::~dos_drive_mappings): Ditto. * mount.h (class dos_drive_mappings): Declare her. * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_ALLOC_DRIVE_MAP, CW_MAP_DRIVE_MAP, CW_FREE_DRIVE_MAP. * include/cygwin/version.h: Bump API minor number.
* Clean up whitespace.Christopher Faylor2011-12-174-8/+8
|
* * include/sys/wait.h: Add in all c++ functions.Christopher Faylor2011-12-081-1/+1
|
* * include/sys/wait.h: Ensure that C++ functions are only used when using C++.Christopher Faylor2011-12-081-0/+2
|
* * path.cc (conv_path_list): Take cygwin_conv_path_t as third parameter.Corinna Vinschen2011-12-021-0/+2
| | | | | | | | | Allow all types of CCP conversions. Accommodate throughout. (cygwin_conv_path): Use current ANSI or OEM codepage for WIN_A conversions, depending on current file API codepage setting. (cygwin_conv_path_list): Allow all CCP conversion types. * include/sys/cygwin.h (CCP_CONVTYPE_MASK): Add to cygwin_conv_path_t enum for convenience.
* * cygthread.h (cygthread::name): Default name to "main" if we are early in theChristopher Faylor2011-11-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | process of setting up the DLL and no name is known. * dcrt0.cc (initial_env): Remove CYGWIN_SLEEP stuff. (get_cygwin_startup_info): Activate strace here as appropriate. (dll_crt0_0): Move get_cygwin_startup_info as early as possible to avoid missing strace output. * fork.cc (frok::child): Move debugging statement to point where ppid will be set. * pinfo.cc (pinfo::thisproc): Remove obsolete call to strace.hello. Tweak debug output slightly. * select.cc (select_stuff::wait): Allow APCS to be triggered while waiting since we use them now. Report when that happens. * sigproc.cc (child_info::child_info): Use strace.active() rather than strace.attached(). * spawn.cc (child_info_spawn::worker): Only write strace child pid when we know it's a cygwin process. Accommodate change to write_child argument list. * strace.cc (strace::hello): Delete. Move functionality... (strace::activate): ...to here. (mypid): Just use raw GetCurrentProcessId () if myself isn't set. (strace::write_childpid): Don't wait for subproc_ready. Remove arg which was required for it. * include/sys/strace.h (strace::hello): Delete. (strace::write_childpid): Delete first argument.
* * child_info.h (CURR_CHILD_INFO_MAGIC): Reset for previous changes.Christopher Faylor2011-11-241-3/+3
| | | | | | | | | | | | | | | * dcrt0.cc (get_cygwin_startup_info): Signal readiness when stracing since strace::write_child relies on it. Use strace.activate to notify strace process, passing in arg indicating whether we're forked. * sigproc.cc (wait_sig): Accommodate new strace::activate argument. * spawn.cc (child_info_spawn::worker): Oops. Previous suspended test was actually correct. Revert and document. * strace.cc (strace::activate): Send additional flag indicating whether this is an attempt to activate a forked process. (strace::hello): Report on windows pid. * include/sys/strace.h (strace::strace): Make a dummy. (strace::activate): Modify declaration to accept an argument. (strace::write_childpid): Set regparm.
* * include/cygwin/stdlib.h: Update copyright.Christopher Faylor2011-11-081-1/+1
|
* * cygwin.din (ptsname_r): Export.Christopher Faylor2011-11-072-1/+3
| | | | | | | | | | | | | | | | | | | | | * fhandler.cc (fhandler_base::ptsname_r): Define. * fhandler.h (fhandler_base::ptsname): Delete. (fhandler_base::ptsname_r): Declare. (fhandler_pty_master::ptsname_r): Declare. * fhandler_tty.cc (fhandler_pty_master::ptsname): Delete. (fhandler_pty_master::ptsname_r): New reentrant function derived from previous ptsname. * syscalls.cc (ptsname_r): Implement new function with functionality similar to Linux. (ptsname): Use ptsname_r () to fill out buf. * include/cygwin/stdlib.h (ptsname_r): Declare. * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 255 to reflect export of ptsname_r. * pinfo.cc (pinfo::wait): Return bool rather than int. * pinfo.h (info::wait): Ditto. (pinfo::reattach): Define !defined(_SIGPROC_H) case for consistency. * sigproc.cc (child_info_spawn::reattach_children): Use correct dwProcessId rather than pid when duplicating handle.
* * fhandler.h (fhandler_pipe::create_selectable): Remove optional argument, takeChristopher Faylor2011-10-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | an options argument for CreateNamedPipe/CreateFile. Change handle arguments to expect pointers. (fhandler_fifo::fifo_state): Delete. (fhandler_fifo::dummy_client): Ditto. (fhandler_fifo::open_nonserver): Ditto. (fhandler_fifo::wait_state): Ditto. (fhandler_fifo::raw_write): Ditto. (fhandler_fifo::read_ready): New field. (fhandler_fifo::write_ready): Ditto. (fhandler_fifo::wait): Modify argument. (fhandler_fifo::fifo_name): Add a new argument. (fhandler_fifo::fixup_after_fork): New function. * fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Remove initialization of expunged elements. Initialize new handles to NULL. (fhandler_fifo::open_nonserver): Delete. (fnevent): New macro for creating a named event. (fnpipe): New macro for creating a unique named pipe name. (create_pipe): New macro for simplification of named pipe creation. (fhandler_fifo::fifo_name): Use new argument when creating a shared name. (fhandler_fifo::open): Rewrite. Use events to synchronize. (pure_debug_printf): New macro, active only when DEBUGGING. (fhandler_fifo::wait): Rewrite to wait for new fifo events which are supplied as a parameter. (fhandler_fifo::raw_read): Rewrite to use handle mechanism to detect client-side disconnect. (fhandler_fifo::raw_write): Delete. (fhandler_fifo::close): Remove accommodations for expunged fields. Close event handles. (fhandler_fifo::dup): Remove accommodations for expunged fields. Duplicate event handles. (fhandler_fifo::fixup_after_fork): New function. Perform fixups on event handles. (fhandler_fifo::set_close_on_exec): Remove accommodations for expunged fields. Set inheritance for new handle fields. * miscfuncs.cc (CreatePipeOverlapped): Accommodate changes in fhandler_pipe::create_selectable. * tty.cc (tty::not_allocated): Ditto. * pipe.cc (fhandler_pipe::create): Ditto. (fhandler_pipe::create_selectable): Accept an extra open_mode argument. Pass arguments by reference and allow opening one end of the pipe at a time. * sys/strace.h (debug_only_printf): Define new macro which calls debug_printf only when DEBUGGING is defined.
* * cygwin.din (getgrouplist): Export.Corinna Vinschen2011-10-282-2/+5
| | | | | | | | | | | | | * grp.cc (get_groups): New static function to run the core functionality of initgroups and getgrouplist. (initgroups32): Call get_groups and just create supplementary group list in cygheap. Rename name of first argument to "user". Add an assertion to test for a NULL user name. (initgroups): Rename name of first argument to "user". (getgrouplist): New function. * posix.sgml (std-bsd): Add getgrouplist. * include/cygwin/grp.h (getgrouplist): Declare. * include/cygwin/version.h: Bump API minor number.
* * cygwin.din: Remove some _tc* exports. Add tcgetsid().Christopher Faylor2011-10-112-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * dtable.cc (fh_alloc): Revert ill-advised setting of major/minor. Use new is_dev_tty to remember that this device was opened as /dev/tty. * fhandler.cc (fhandler_base::fstat): Remove leftover debugging statement. (fhandler_base::tcgetsid): New function. * fhandler.h ((fhandler_base::tcgetsid): Declare new function. (fhandler_base::is_dev_tty): Ditto. (fhandler_termios::opened_as_dev_tty): Declare new field. (fhandler_termios::is_dev_tty): Declare new function. (fhandler_termios::tcgetsid): Ditto. (fhandler_pty_common::use_archetype): Move here from subclass. (fhandler_pty_slave::use_archetype): Move up. (fhandler_pty_master::use_archetype): Ditto. * fhandler_console.cc (fhandler_console::ioctl): Rename second argument from `buf' to `arg' for consistency. Call ioctl_termios for common fhandler_termios ioctl handling. * fhandler_tty.cc (fhandler_pty_slave::ioctl): Call ioctl_termios for common fhandler_termios ioctl handling. (fhandler_pty_master::ioctl): Ditto. * fhandler_termios.cc (fhandler_termios::tcgetsid): Implement new function. (fhandler_termios::ioctl_termios): Ditto. Implements TIOCSCTTY handling. * syscalls.cc (stat_worker): Set /dev/tty device info when appropriate. * termios.cc (tcgetpgrp): Avoid extraneous "isatty" check. (tcgetsid): Implement new function. * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 253. * include/sys/termios.h (TIOCSCTTY): Define.
* * include/sys/cygwin.h (cygwin_getinfo_types): Define valuesCorinna Vinschen2011-10-071-3/+49
| | | | additionally as preprocessor symbols.
* 2011-10-06 Christian Franke <franke@computer.org>Christian Franke2011-10-062-17/+63
| | | | | | | | | | * include/cygwin/wait.h: Use new __wait_status_to_int() macro to access status value in W*() status checks. Fix status description. * include/sys/wait.h: Allow `int' and `union wait' as wait status parameter. Change __wait_status_to_int() macro and wait () prototypes accordingly. Add inline functions for C++. Remove extra `;'.
* * external.cc (create_winenv): Rename from sync_winenv. TakeCorinna Vinschen2011-10-052-2/+4
| | | | | | | | environment pointer as parameter and return pointer to corresponding win32 environment block if != NULL. Otherwise just sync as before. (cygwin_internal): Add CW_CVT_ENV_TO_WINENV case. * include/cygwin/version.h: Bump API minor number. * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CVT_ENV_TO_WINENV.
* * include/paths.h (_PATH_MAILDIR): Define.Yaakov Selkowitz2011-08-211-0/+2
| | | | (_PATH_SHELLS): Define.
* * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.Corinna Vinschen2011-08-161-1/+2
|
* * autoload.cc (GetModuleHandleExW): Define.Corinna Vinschen2011-08-161-5/+13
| | | | | | | | | | * dlfcn.cc: Throughout mark exported symbols as extern "C". (dlopen): Unignore flags argument. Define ret to NULL. Fix typo in comment. Support Glibc flags RTLD_NOLOAD and RTLD_NODELETE. * include/dlfcn.h: Clean up comments. (RTLD_NODELETE): Define. (RTLD_NOLOAD): Define. (RTLD_DEEPBIND): Define.