PERFORCE change 166182 for review

Gabor Pali pgj at FreeBSD.org
Thu Jul 16 23:05:02 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=166182

Change 166182 by pgj at petymeg-current on 2009/07/16 23:04:38

	Add support for tracking lengths of a socket_type_list.

Affected files ...

.. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#26 edit
.. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#25 edit
.. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#28 edit

Differences ...

==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#26 (text+ko) ====

@@ -94,6 +94,7 @@
 void	netstat_stl_free(struct socket_type_list *list);
 int	netstat_stl_geterror(struct socket_type_list *list);
 int	netstat_stl_refresh(struct socket_type_list *list);
+int	netstat_stl_length(struct socket_type_list *list);
 
 /* Socket iterator: */
 int		    netstat_sti_alloc(struct socket_type_list *list,

==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#25 (text+ko) ====

@@ -124,6 +124,7 @@
 
 struct socket_type_list {
 	LIST_HEAD(, socket_type)    stl_list;
+	int			    stl_length;
 	int			    stl_error;
 };
 

==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#28 (text+ko) ====

@@ -155,6 +155,7 @@
 
 	LIST_INIT(&stlp->stl_list);
 	stlp->stl_error = NETSTAT_ERROR_UNDEFINED;
+	stlp->stl_length = 0;
 	return (stlp);
 }
 
@@ -178,6 +179,8 @@
 		LIST_REMOVE(stp, st_list);
 		free(stp);
 	}
+
+	list->stl_length = 0;
 }
 
 void
@@ -210,6 +213,12 @@
 	return (0);
 }
 
+int
+netstat_stl_length(struct socket_type_list *list)
+{
+	return (list->stl_length);
+}
+
 struct socket_type *
 netstat_stl_find(struct socket_type_list *list, unsigned short family,
     const char *name)
@@ -243,6 +252,7 @@
 	stp->st_flags = 0;
 	strlcpy(stp->st_name, name, SOCKTYPE_MAXNAME);
 	LIST_INSERT_HEAD(&list->stl_list, stp, st_list);
+	list->stl_length += 1;
 	return (stp);
 }
 


More information about the p4-projects mailing list