1
#ifndef __CL_STRING_LIST_H
2
#define __CL_STRING_LIST_H
4
/*___INFO__MARK_BEGIN__*/
5
/*************************************************************************
7
* The Contents of this file are made available subject to the terms of
8
* the Sun Industry Standards Source License Version 1.2
10
* Sun Microsystems Inc., March, 2001
13
* Sun Industry Standards Source License Version 1.2
14
* =================================================
15
* The contents of this file are subject to the Sun Industry Standards
16
* Source License Version 1.2 (the "License"); You may not use this file
17
* except in compliance with the License. You may obtain a copy of the
18
* License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
20
* Software provided under this License is provided on an "AS IS" basis,
21
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
22
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
23
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
24
* See the License for the specific provisions governing your rights and
25
* obligations concerning the Software.
27
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
29
* Copyright: 2001 by Sun Microsystems, Inc.
31
* All Rights Reserved.
33
************************************************************************/
34
/*___INFO__MARK_END__*/
38
typedef struct cl_string_list_elem_t {
39
char* string; /* data */
40
cl_raw_list_elem_t* raw_elem;
41
} cl_string_list_elem_t;
45
int cl_string_list_setup(cl_raw_list_t** list_p, char* list_name );
46
int cl_string_list_cleanup(cl_raw_list_t** list_p);
48
/* thread list functions that will lock the list */
49
int cl_string_list_append_string(cl_raw_list_t* list_p, char* string, int lock_list);
50
int cl_string_list_remove_string(cl_raw_list_t* list_p, char* string, int lock_list);
52
/* thread functions that will not lock the list */
53
cl_string_list_elem_t* cl_string_list_get_first_elem(cl_raw_list_t* list_p);
54
cl_string_list_elem_t* cl_string_list_get_least_elem(cl_raw_list_t* list_p);
55
cl_string_list_elem_t* cl_string_list_get_next_elem(cl_string_list_elem_t* elem);
56
cl_string_list_elem_t* cl_string_list_get_last_elem(cl_string_list_elem_t* elem);
59
#endif /* __CL_STRING_LIST_H */