⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slpd_database.h

📁 SLP协议在linux下的实现。此版本为1.2.1版。官方网站为www.openslp.org
💻 H
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************//*                                                                         *//* Project:     OpenSLP - OpenSource implementation of Service Location    *//*              Protocol Version 2                                         *//*                                                                         *//* File:        slpd_database.h                                            *//*                                                                         *//* Abstract:    Implements database abstraction.  Currently a simple       *//*              double linked list (common/slp_database.c) is used for the *//*              underlying storage.                                        *//*                                                                         *//*-------------------------------------------------------------------------*//*                                                                         *//*     Please submit patches to http://www.openslp.org                     *//*                                                                         *//*-------------------------------------------------------------------------*//*                                                                         *//* Copyright (C) 2000 Caldera Systems, Inc                                 *//* All rights reserved.                                                    *//*                                                                         *//* Redistribution and use in source and binary forms, with or without      *//* modification, are permitted provided that the following conditions are  *//* met:                                                                    */ /*                                                                         *//*      Redistributions of source code must retain the above copyright     *//*      notice, this list of conditions and the following disclaimer.      *//*                                                                         *//*      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.                                                      *//*                                                                         *//*      Neither the name of Caldera Systems nor the names of its           *//*      contributors may be used to endorse or promote products derived    *//*      from this software without specific prior written permission.      *//*                                                                         *//* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS     *//* `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 CALDERA      *//* SYSTEMS OR CONTRIBUTORS 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.    *//*                                                                         *//***************************************************************************/#ifndef SLPD_DATABASE_H_INCLUDED#define SLPD_DATABASE_H_INCLUDED#include "slpd.h"/*=========================================================================*//* Common code includes                                                    *//*=========================================================================*/#include "slp_database.h"#define SLPDDATABASE_INITIAL_URLCOUNT           256#define SLPDDATABASE_INITIAL_SRVTYPELISTLEN     2048/*=========================================================================*/typedef struct _SLPDDatabase/*=========================================================================*/{    SLPDatabase database;    int         urlcount;    int         srvtypelistlen;}SLPDDatabase;/*=========================================================================*/typedef struct _SLPDDatabaseSrvRqstResult/*=========================================================================*/{    void*             reserved;    SLPUrlEntry**     urlarray;    int               urlcount;}SLPDDatabaseSrvRqstResult;/*=========================================================================*/typedef struct _SLPDDatabaseSrvTypeRqstResult/*=========================================================================*/{    void*           reserved;    char*           srvtypelist;    int             srvtypelistlen;}SLPDDatabaseSrvTypeRqstResult;       /*=========================================================================*/typedef struct _SLPDDatabaseAttrRqstResult/*=========================================================================*/{    void*           reserved;    char*           attrlist;    int             attrlistlen;    SLPAuthBlock*   autharray;    int             authcount;    int             ispartial;}SLPDDatabaseAttrRqstResult;       /*=========================================================================*/void SLPDDatabaseAge(int seconds, int ageall);/* Ages the database entries and clears new and deleted entry lists        *//*                                                                         *//* seconds  (IN) the number of seconds to age each entry by                *//*																		   *//* ageall   (IN) age even entries with SLP_LIFETIME_MAXIMUM                *//*                                                                         *//* Returns  - None                                                         *//*=========================================================================*//*=========================================================================*/int SLPDDatabaseReg(SLPMessage msg, SLPBuffer buf);/* Add a service registration to the database                              *//*                                                                         *//* msg          (IN) SLPMessage of a SrvReg message as returned by         *//*                   SLPMessageParse()                                     *//*                                                                         *//* buf          (IN) Otherwise unreferenced buffer interpreted by the msg  *//*                   structure                                             *//*                                                                         *//* Returns  -   Zero on success.  Nonzero on error                         *//*                                                                         *//* NOTE:        All registrations are treated as fresh                     *//*=========================================================================*//*=========================================================================*/int SLPDDatabaseDeReg(SLPMessage msg);/* Remove a service registration from the database                         *//*                                                                         *//* msg  - (IN) message interpreting an SrvDereg message                    *//*                                                                         *//* Returns  -   Zero on success.  Non-zero on failure                      *//*=========================================================================*//*=========================================================================*/int SLPDDatabaseSrvRqstStart(SLPMessage msg,                             SLPDDatabaseSrvRqstResult** result);/* Find services in the database                                           *//*                                                                         *//* msg      (IN) the SrvRqst to find.                                      */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -