📄 main.c
字号:
/* * Embedded SLP main * * ./software/ch10/emslp/main.c * * mtj@cogitollc.com * */#include <stdio.h>#include "slpapi.h"void registerTest( void ){ int ret; slpHandleType handle; ret = slpInit(); ret = slpOpen(&handle); ret = slpRegisterService( &handle, "service:http://mtjones.com:8081", "service:http", "", 10800); ret = slpClose( &handle ); return;}void findTest( void ){ int ret; slpHandleType handle; slpParsedServiceReplyType reply; char serviceType[80], addrSpec[80], port[80]; int i; ret = slpInit(); ret = slpOpen(&handle); ret = slpRequestService( &handle, &reply, "service:http", ""); printf("url count : %d\n", reply.urlCount); for (i = 0 ; i < reply.urlCount ; i++) { slpParseServiceURL( reply.urls[i].url, serviceType, addrSpec, port ); printf("url : %s\n", reply.urls[i].url); printf("serviceType : %s\n", serviceType); printf("addrSpec : %s\n", addrSpec); printf("port : %s\n", port); } ret = slpClose( &handle ); return;}void browseNetwork( void ){ int ret; slpHandleType handle; slpParsedServiceReplyType reply; slpParsedServiceTypeReplyType sreply; int i, j; ret = slpInit(); ret = slpOpen(&handle); slpRequestAllServices( &handle, &sreply ); for (j = 0 ; j < sreply.srvCount ; j++) { printf("Service %s\n", sreply.service[j]); slpRequestService( &handle, &reply, sreply.service[j], ""); for (i = 0 ; i < reply.urlCount ; i++) { printf("\t%s\n", reply.urls[i].url); } printf("\n"); } ret = slpClose( &handle ); return;}int main(){ registerTest(); findTest(); browseNetwork(); return 0;}/* * Copyright (c) 2002 Charles River Media. All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, is hereby granted without fee provided * that the following conditions are met: * * 1. Redistributions of source code must retain the above * copyright notice, this list of conditions and the * following disclaimer. * 2. 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. * 3. Neither the name of Charles River Media 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 CHARLES RIVER MEDIA AND CONTRIBUTERS * 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CHARLES * RIVER MEDIA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARAY, 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. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -