X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/zone/blobdiff_plain/716105aa3a725242d5fac82bab8db82e0bb46995..88867b1a56e50b1a208b052dd75451143f92b7ae:/serv.lisp diff --git a/serv.lisp b/serv.lisp index f8827b1..245ffe9 100644 --- a/serv.lisp +++ b/serv.lisp @@ -22,12 +22,11 @@ ;;; Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. (defpackage #:services - (:use #:common-lisp #:mdw.base #:mdw.str #:collect #:net #:anaphora) - (:export #:serv #:servp #:serv-name #:serv-aliases #:serv-port #:serv-proto - #:serv-by-name #:serv-by-port #:serv-add #:serv-list)) + (:use #:common-lisp #:mdw.base #:mdw.str #:collect #:net #:anaphora)) (in-package #:services) +(export '(serv servp serv-name serv-aliases serv-port serv-proto)) (defstruct (serv (:predicate servp)) "Represents a service entry in /etc/services." (name :nil :type keyword) @@ -39,6 +38,7 @@ (let ((byname (make-hash-table)) (byport (make-hash-table))) ;; Translation functions. + (export 'serv-by-name) (defun serv-by-name (name &optional proto) "Look up the service with the given NAME (or alias) and PROTO. If PROTO is nil, use a default protocol from a built-in list." @@ -52,6 +52,7 @@ (defun serv-by-name (name &optional proto) (awhen (find-proto proto) (return it)))))))) + (export 'serv-by-port) (defun serv-by-port (port &optional (proto :tcp)) "Look up the service with the given PORT number and PROTO." (find proto (gethash port byport) :key #'serv-proto)) @@ -64,6 +65,7 @@ (defun serv-add (serv) (push serv (gethash alias byname)))) ;; Read the whole damned lot. + (export 'serv-list) (defun serv-list (&key (predicate (constantly t))) "Return as a list the services which match PREDICATE (default all of them)."