util.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:3k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * FILE:    util.h
  3.  * PROGRAM: RAT
  4.  * AUTHOR:  Isidor Kouvelas + Colin Perkins + Orion Hodson
  5.  *
  6.  * $Revision: 1.2 $
  7.  * $Date: 2001/10/03 23:40:29 $
  8.  *
  9.  * Copyright (c) 1995-2000 University College London
  10.  * All rights reserved.
  11.  *
  12.  * Redistribution and use in source and binary forms, with or without
  13.  * modification, is permitted provided that the following conditions 
  14.  * are met:
  15.  * 1. Redistributions of source code must retain the above copyright
  16.  *    notice, this list of conditions and the following disclaimer.
  17.  * 2. Redistributions in binary form must reproduce the above copyright
  18.  *    notice, this list of conditions and the following disclaimer in the
  19.  *    documentation and/or other materials provided with the distribution.
  20.  * 3. All advertising materials mentioning features or use of this software
  21.  *    must display the following acknowledgement:
  22.  *      This product includes software developed by the Computer Science
  23.  *      Department at University College London
  24.  * 4. Neither the name of the University nor of the Department may be used
  25.  *    to endorse or promote products derived from this software without
  26.  *    specific prior written permission.
  27.  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
  28.  * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  29.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  30.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
  31.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  32.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  33.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  34.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  35.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  36.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  37.  * SUCH DAMAGE.
  38.  */
  39. #ifndef _UTIL_H
  40. #define _UTIL_H
  41. #if defined(__cplusplus)
  42. extern "C" {
  43. #endif
  44. #define block_alloc(x) _block_alloc(x,__FILE__,__LINE__)
  45. #define block_free(x,y) _block_free(x,y,__LINE__)
  46. void *_block_alloc(unsigned size, const char *filen, int line);
  47. void  _block_free(void *p, int size, int line);
  48. void  block_release_all(void);
  49. void     block_trash_check(void);
  50. void     block_check(char *p);
  51. /* purge_chars: removes occurances of chars in to_go from src */
  52. void purge_chars(char *src, char *to_go); 
  53. /* overlapping_words: returns how many words match in two strings */
  54. int overlapping_words(const char *s1, const char *s2, int max_words);
  55. /* The strfind() function is mainly for internal use, but might be
  56.    useful to others... */
  57. int strfind(const char *haystack, 
  58.     const char *needle_start, 
  59.     const char *needle_end);
  60. #if defined(__cplusplus)
  61. }
  62. #endif
  63. #endif