/usr/include/python2.7/mx/mxbmse.h is in python-egenix-mx-base-dev 3.2.7-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #ifndef MXBMSE_H
#define MXBMSE_H
/*
mxbmse -- Fast Boyer Moore Search Algorithm (Version 0.8)
The implementation is reentrant and thread safe. While the
general idea behind the Boyer Moore algorithm are in the public
domain, this implementation falls under the following copyright:
Copyright (c) 1997-2000, Marc-Andre Lemburg; mailto:mal@lemburg.com
Copyright (c) 2000-2013, eGenix.com Software GmbH; mailto:info@egenix.com
All Rights Reserved
See the documentation for copying information or contact the author
(mal@lemburg.com).
*/
#ifdef __cplusplus
extern "C" {
#endif
/* --- Fast Boyer-Moore Implementation (8-bit) ---------------------------- */
/* sanity check switches */
/*#define SAFER 1*/
/* BM_LENGTH_TYPE must have enough bits to store len(match)
- using 'char' here makes the routines run 15% slower than
with 'int', on the other hand,
- 'int' is at least 4 times larger than 'char'
- 'long' is better on 64-bit CPUs
*/
#ifndef BM_LENGTH_TYPE
# define BM_LENGTH_TYPE int
#endif
#ifndef BM_INDEX_TYPE
# define BM_INDEX_TYPE BM_LENGTH_TYPE
#endif
#ifndef BM_SHIFT_TYPE
# define BM_SHIFT_TYPE BM_LENGTH_TYPE
#endif
typedef struct {
char *match;
BM_LENGTH_TYPE match_len;
char *eom;
char *pt;
BM_SHIFT_TYPE shift[256]; /* char-based shift table */
} mxbmse_data;
extern mxbmse_data *bm_init(char *match,
BM_LENGTH_TYPE match_len);
extern void bm_free(mxbmse_data *c);
extern BM_INDEX_TYPE bm_search(mxbmse_data *c,
char *text,
BM_INDEX_TYPE start,
BM_LENGTH_TYPE text_len);
extern BM_INDEX_TYPE bm_tr_search(mxbmse_data *c,
char *text,
BM_INDEX_TYPE start,
BM_LENGTH_TYPE text_len,
char *tr);
#define BM_MATCH_LEN(bm) ((mxbmse_data *)bm)->match_len
/* EOF */
#ifdef __cplusplus
}
#endif
#endif
|