1*2fe8fb19SBen Gras.\" $NetBSD: memmem.3,v 1.3 2008/04/30 13:10:51 martin Exp $ 2*2fe8fb19SBen Gras.\" 3*2fe8fb19SBen Gras.\" Copyright (c) 2005 The NetBSD Foundation, Inc. 4*2fe8fb19SBen Gras.\" All rights reserved. 5*2fe8fb19SBen Gras.\" 6*2fe8fb19SBen Gras.\" This code is derived from software contributed to The NetBSD Foundation 7*2fe8fb19SBen Gras.\" by Perry E. Metzger of Metzger, Dowdeswell & Co. LLC. 8*2fe8fb19SBen Gras.\" 9*2fe8fb19SBen Gras.\" Redistribution and use in source and binary forms, with or without 10*2fe8fb19SBen Gras.\" modification, are permitted provided that the following conditions 11*2fe8fb19SBen Gras.\" are met: 12*2fe8fb19SBen Gras.\" 1. Redistributions of source code must retain the above copyright 13*2fe8fb19SBen Gras.\" notice, this list of conditions and the following disclaimer. 14*2fe8fb19SBen Gras.\" 2. Redistributions in binary form must reproduce the above copyright 15*2fe8fb19SBen Gras.\" notice, this list of conditions and the following disclaimer in the 16*2fe8fb19SBen Gras.\" documentation and/or other materials provided with the distribution. 17*2fe8fb19SBen Gras.\" 18*2fe8fb19SBen Gras.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19*2fe8fb19SBen Gras.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20*2fe8fb19SBen Gras.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21*2fe8fb19SBen Gras.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22*2fe8fb19SBen Gras.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23*2fe8fb19SBen Gras.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24*2fe8fb19SBen Gras.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25*2fe8fb19SBen Gras.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26*2fe8fb19SBen Gras.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27*2fe8fb19SBen Gras.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28*2fe8fb19SBen Gras.\" POSSIBILITY OF SUCH DAMAGE. 29*2fe8fb19SBen Gras.\" 30*2fe8fb19SBen Gras.Dd March 12, 2005 31*2fe8fb19SBen Gras.Dt MEMMEM 3 32*2fe8fb19SBen Gras.Os 33*2fe8fb19SBen Gras.Sh NAME 34*2fe8fb19SBen Gras.Nm memmem 35*2fe8fb19SBen Gras.Nd locate substring in byte string 36*2fe8fb19SBen Gras.Sh LIBRARY 37*2fe8fb19SBen Gras.Lb libc 38*2fe8fb19SBen Gras.Sh SYNOPSIS 39*2fe8fb19SBen Gras.In string.h 40*2fe8fb19SBen Gras.Ft void * 41*2fe8fb19SBen Gras.Fn memmem "const void *block" "size_t blen" "const void *pat" "size_t plen" 42*2fe8fb19SBen Gras.Sh DESCRIPTION 43*2fe8fb19SBen GrasThe 44*2fe8fb19SBen Gras.Fn memmem 45*2fe8fb19SBen Grasfunction locates the first occurrence of the binary string 46*2fe8fb19SBen Gras.Fa pat 47*2fe8fb19SBen Grasof size 48*2fe8fb19SBen Gras.Fa plen 49*2fe8fb19SBen Grasbytes in the byte string 50*2fe8fb19SBen Gras.Fa block 51*2fe8fb19SBen Grasof size 52*2fe8fb19SBen Gras.Fa blen 53*2fe8fb19SBen Grasbytes. 54*2fe8fb19SBen Gras.Sh RETURN VALUES 55*2fe8fb19SBen GrasThe 56*2fe8fb19SBen Gras.Fn memmem 57*2fe8fb19SBen Grasfunction returns a pointer to the substring located, or 58*2fe8fb19SBen Gras.Dv NULL 59*2fe8fb19SBen Grasif no such substring exists within 60*2fe8fb19SBen Gras.Fa block . 61*2fe8fb19SBen Gras.Pp 62*2fe8fb19SBen GrasIf 63*2fe8fb19SBen Gras.Fa plen 64*2fe8fb19SBen Grasis zero, 65*2fe8fb19SBen Gras.Fa block 66*2fe8fb19SBen Grasis returned, i.e. a zero length 67*2fe8fb19SBen Gras.Fa pat 68*2fe8fb19SBen Grasis deemed to match the start of the string, as with 69*2fe8fb19SBen Gras.Xr strstr 3 . 70*2fe8fb19SBen Gras.Sh SEE ALSO 71*2fe8fb19SBen Gras.Xr bm 3 , 72*2fe8fb19SBen Gras.Xr memchr 3 , 73*2fe8fb19SBen Gras.Xr strchr 3 , 74*2fe8fb19SBen Gras.Xr strstr 3 75*2fe8fb19SBen Gras.Sh STANDARDS 76*2fe8fb19SBen GrasThe 77*2fe8fb19SBen Gras.Fn memmem 78*2fe8fb19SBen Grasfunction is not currently standardized. 79*2fe8fb19SBen GrasHowever, it is meant to be API compatible with functions in 80*2fe8fb19SBen Gras.Fx 81*2fe8fb19SBen Grasand Linux. 82*2fe8fb19SBen Gras.Sh HISTORY 83*2fe8fb19SBen Gras.Fn memmem 84*2fe8fb19SBen Grasfirst appeared in the Free Software Foundation's glibc library. 85