/[public]/psiconv/trunk/lib/psiconv/list.h
ViewVC logotype

Diff of /psiconv/trunk/lib/psiconv/list.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 62 Revision 72
1/* 1/*
2 list.h - Part of psiconv, a PSION 5 file formats converter 2 list.h - Part of psiconv, a PSION 5 file formats converter
3 Copyright (c) 1999 Frodo Looijaard <frodol@dds.nl> 3 Copyright (c) 1999, 2000 Frodo Looijaard <frodol@dds.nl>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
67 supplied element. Of course, this does not help if the element contains 67 supplied element. Of course, this does not help if the element contains
68 pointers. 68 pointers.
69 As the lists extends itself, it may be necessary to allocate new 69 As the lists extends itself, it may be necessary to allocate new
70 memory. If this fails, a negative error-code is returned. If everything, 70 memory. If this fails, a negative error-code is returned. If everything,
71 succeeds, 0 is returned. */ 71 succeeds, 0 is returned. */
72extern int psiconv_list_add(psiconv_list l, void *el); 72extern int psiconv_list_add(psiconv_list l, const void *el);
73 73
74/* Do some action for each element. Note: you can directly modify the 74/* Do some action for each element. Note: you can directly modify the
75 elements supplied to action, and they will be changed in the list, 75 elements supplied to action, and they will be changed in the list,
76 but never try a free(el)! */ 76 but never try a free(el)! */
77extern void psiconv_list_foreach_el(psiconv_list l, void action(void *el)); 77extern void psiconv_list_foreach_el(psiconv_list l, void action(void *el));
85 Returned is the actual number of elements added. This assumes the file 85 Returned is the actual number of elements added. This assumes the file
86 layout and the memory layout of elements is the same. Note that if 86 layout and the memory layout of elements is the same. Note that if
87 not enough memory could be allocated, 0 is simply returned. */ 87 not enough memory could be allocated, 0 is simply returned. */
88extern size_t psiconv_list_fread(psiconv_list l,size_t size, FILE *f); 88extern size_t psiconv_list_fread(psiconv_list l,size_t size, FILE *f);
89 89
90/* Concatenate two lists. The element sized does not have to be the same,
91 but the result may be quite unexpected if it is not. */
92int psiconv_list_concat(psiconv_list l, const psiconv_list extra);
93
90 94
91#ifdef __cplusplus 95#ifdef __cplusplus
92} 96}
93#endif /* __cplusplus */ 97#endif /* __cplusplus */
94 98

Legend:
Removed from v.62  
changed lines
  Added in v.72

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26