}
}
+/* --- @getport@, @setport@ --- *
+ *
+ * Arguments: @addr *a@ = a network address
+ * @unsigned port@ = port number to set
+ *
+ * Returns: ---
+ *
+ * Use: Retrieves or sets the port number in an address structure.
+ */
+
+unsigned getport(addr *a)
+{
+ switch (a->sa.sa_family) {
+ case AF_INET: return (ntohs(a->sin.sin_port)); break;
+ default: abort();
+ }
+}
+
+void setport(addr *a, unsigned port)
+{
+ switch (a->sa.sa_family) {
+ case AF_INET: a->sin.sin_port = htons(port); break;
+ default: abort();
+ }
+}
+
/*----- That's all, folks -------------------------------------------------*/