dt_strtab.h
来自「Sun Solaris 10 中的 DTrace 组件的源代码。请参看: htt」· C头文件 代码 · 共 55 行
H
55 行
/* * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only. * See the file usr/src/LICENSING.NOTICE in this distribution or * http://www.opensolaris.org/license/ for details. */#ifndef _DT_STRTAB_H#define _DT_STRTAB_H#pragma ident "@(#)dt_strtab.h 1.2 04/11/13 SMI"#include <sys/types.h>#ifdef __cplusplusextern "C" {#endiftypedef struct dt_strhash { const char *str_data; /* pointer to actual string data */ ulong_t str_buf; /* index of string data buffer */ size_t str_off; /* offset in bytes of this string */ size_t str_len; /* length in bytes of this string */ struct dt_strhash *str_next; /* next string in hash chain */} dt_strhash_t;typedef struct dt_strtab { dt_strhash_t **str_hash; /* array of hash buckets */ ulong_t str_hashsz; /* size of hash bucket array */ char **str_bufs; /* array of buffer pointers */ char *str_ptr; /* pointer to current buffer location */ ulong_t str_nbufs; /* size of buffer pointer array */ size_t str_bufsz; /* size of individual buffer */ ulong_t str_nstrs; /* total number of strings in strtab */ size_t str_size; /* total size of strings in bytes */} dt_strtab_t;typedef ssize_t dt_strtab_write_f(const char *, size_t, size_t, void *);extern dt_strtab_t *dt_strtab_create(size_t);extern void dt_strtab_destroy(dt_strtab_t *);extern ssize_t dt_strtab_insert(dt_strtab_t *, const char *);extern size_t dt_strtab_size(const dt_strtab_t *);extern ssize_t dt_strtab_write(const dt_strtab_t *, dt_strtab_write_f *, void *);extern ulong_t dt_strtab_hash(const char *, size_t *);#ifdef __cplusplus}#endif#endif /* _DT_STRTAB_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?