cast_llink_to

	CAST_LLINK_TO(type, field, pointer)

	This C macro will typecast a pointer from a (list_link_t *) to
	(type *).  This is useful if a structure contains a list_link_t
	structure and you need to convert a pointer from the list_link_t
	field to the beginning of the encompassing structure.

	type		data type that contains the "list_link_t"
	field		name of the "list_link_t" field in "type"
	pointer		pointer to be converted

	In this example, a node resides in two different lists. One list
	is sorted by time and the other by name. To perform an operation
	on each node in name sorted order, the following could be done:

		typedef struct SOME_DATA {
		    list_link_t time_sorted;
		    list_link_t name_sorted;
		    time_t the_time;
		    char the_name[20];
		} some_data_t;

		list_link_t root = {&root, &root};
		list_link_t *lPtr;
		some_data_t *ptr;

		static void some_action (some_data_t *);

		...
		    for (lPtr = &root; lPtr->next != &root; lPtr = lPtr->next) {
		        ptr = CAST_LLINK_TO(some_data_t, name_sorted, lPtr);
		        some_action (ptr);
		    }
		...

	This function requires the following include files:

	cbslib_h

	Related functions:

	list_init, list_insert, LIST_INSERT_HEAD, LIST_INSERT_TAIL,
	list_delete, list_remove, list_find, list_for_each, LIST_IS_EMPTY