 b6cbf7203b
			
		
	
	
		b6cbf7203b
		
	
	
	
	
		
			
			This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"	$NetBSD: ftok.3,v 1.16 2010/04/27 15:26:59 jruoho Exp $
 | |
| .\"
 | |
| .\" Copyright (c) 1994 SigmaSoft, Th. Lockert <tholo@sigmasoft.com>
 | |
| .\" All rights reserved.
 | |
| .\"
 | |
| .\" Redistribution and use in source and binary forms, with or without
 | |
| .\" modification, are permitted provided that the following conditions
 | |
| .\" are met:
 | |
| .\" 1. Redistributions of source code must retain the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer.
 | |
| .\" 2. Redistributions in binary form must reproduce the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer in the
 | |
| .\"    documentation and/or other materials provided with the distribution.
 | |
| .\"
 | |
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 | |
| .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 | |
| .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 | |
| .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 | |
| .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 | |
| .\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 | |
| .\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 | |
| .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 | |
| .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 | |
| .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| .\"
 | |
| .Dd April 27, 2010
 | |
| .Dt FTOK 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm ftok
 | |
| .Nd create IPC identifier from path name
 | |
| .Sh LIBRARY
 | |
| .Lb libc
 | |
| .Sh SYNOPSIS
 | |
| .In sys/types.h
 | |
| .In sys/ipc.h
 | |
| .Ft key_t
 | |
| .Fn ftok "const char *path" "int id"
 | |
| .Sh DESCRIPTION
 | |
| The
 | |
| .Fn ftok
 | |
| function attempts to create a unique key suitable for use with the
 | |
| .Xr msgget 2 ,
 | |
| .Xr semget 2
 | |
| and
 | |
| .Xr shmget 2
 | |
| functions given the
 | |
| .Fa path
 | |
| of an existing file and a user-selectable
 | |
| .Fa id .
 | |
| .Pp
 | |
| The specified
 | |
| .Fa path
 | |
| must specify an existing file that is accessible to the calling process
 | |
| or the call will fail.
 | |
| Also, note that links to files will return the same key, given the same
 | |
| .Fa id .
 | |
| .Pp
 | |
| Only the 8 least significant bits of
 | |
| .Fa id
 | |
| are used in the key generation; the rest of the bits are ignored.
 | |
| .Sh RETURN VALUES
 | |
| The
 | |
| .Fn ftok
 | |
| function will return ((key_t)-1) if
 | |
| .Fa path
 | |
| does not exist or if it cannot be accessed by the calling process.
 | |
| .Sh SEE ALSO
 | |
| .Xr msgget 2 ,
 | |
| .Xr semget 2 ,
 | |
| .Xr shmget 2
 | |
| .Sh STANDARDS
 | |
| The
 | |
| .Fn ftok
 | |
| function conforms to
 | |
| .St -p1003.1 .
 | |
| .Sh HISTORY
 | |
| The
 | |
| .Fn ftok
 | |
| function originated with System V and is typically used by programs
 | |
| that use the System V IPC routines.
 | |
| .Sh AUTHORS
 | |
| .An Thorsten Lockert Aq tholo@sigmasoft.com
 | |
| .Sh BUGS
 | |
| The returned key is computed based on the device and inode of the
 | |
| specified
 | |
| .Fa path
 | |
| in combination with the given
 | |
| .Fa id .
 | |
| Thus it is quite possible for the routine to return duplicate keys
 | |
| given that those fields are not 8- and 16-bit quantities like they
 | |
| were on System V based systems where this library routine's ancestor
 | |
| were originally created.
 |