NAME

Net::SLP - Perl extension for accessing the Service Location Protocol (SLP) API. SLP can be used to discover the location of services

SYNOPSIS

use Net::SLP; my $handle; Net::SLP::SLPOpen('', 0, $handle); Net::SLP::SLPReg($handle, 'service:mytestservice.x://zulu.airspayce.com:9048', # URL Net::SLP::SLP_LIFETIME_MAXIMUM, # lifetime '', # srvtype (ignored) '(attr1=val1),(attr2=val2),(attr3=val3)', # attrs 1, # Register. SLP does not support reregister. \&regcallback) Net::SLP::SLPFindSrvs($handle, 'mytestservice.x', '', '', \&urlcallback); Net::SLP::SLPClose($handle);

# Called when a service is registered or deregisted with # SLPReg(), SLPDeReg() and SLPDelAttrs() functions. sub regcallback { my ($errcode) = @_; } # Called when a service URL is available from SLPFindSrvs # This callback returns SLP_TRUE if it wishes to be called again if there is more # data, else SLP_FALSE # If $errcode == SLP_LAST_CALL, then there is no more data sub urlcallback { my ($srvurl, $lifetime, $errcode) = @_; return Net::SLP::SLP_TRUE; }

DESCRIPTION

SLP is the Service Location Protocol, a protocol fpor discovering the location and attributes of servers for some required service. There is a standard C API for SLP, and this module is a wrapper around that API. The API is described in RFC2614, see which for detailed API usage. All RFC2614 functions are implmeneted except for SLPParseSrvURL() and SLPFree().

EXPORT

None by default.

Exportable constants

  SLP_AUTHENTICATION_ABSENT
  SLP_AUTHENTICATION_FAILED
  SLP_BUFFER_OVERFLOW
  SLP_FALSE
  SLP_HANDLE_IN_USE
  SLP_INTERNAL_SYSTEM_ERROR
  SLP_INVALID_REGISTRATION
  SLP_INVALID_UPDATE
  SLP_LANGUAGE_NOT_SUPPORTED
  SLP_LAST_CALL
  SLP_LIFETIME_DEFAULT
  SLP_LIFETIME_MAXIMUM
  SLP_MEMORY_ALLOC_FAILED
  SLP_NETWORK_ERROR
  SLP_NETWORK_INIT_FAILED
  SLP_NETWORK_TIMED_OUT
  SLP_NOT_IMPLEMENTED
  SLP_OK
  SLP_PARAMETER_BAD
  SLP_PARSE_ERROR
  SLP_REFRESH_REJECTED
  SLP_SCOPE_NOT_SUPPORTED
  SLP_TRUE
  SLP_TYPE_ERROR

SEE ALSO

Openslp Programmer Guide http://www.openslp.org RFC2608 (SLPv2) RFC2614 (SLP API)

AUTHOR

Mike McCauley, <mikem@airspayce.com>

COPYRIGHT AND LICENSE

Copyright (C) 2004 by Mike McCauley

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.