rsc | 1a0954a | 2005-01-04 21:18:08 +0000 | [diff] [blame] | 1 | #ifndef _COMPLETE_H_ |
| 2 | #define _COMPLETE_H_ 1 |
| 3 | #if defined(__cplusplus) |
| 4 | extern "C" { |
| 5 | #endif |
| 6 | |
| 7 | AUTOLIB(complete) |
rsc | 91c13e5 | 2004-02-29 22:11:15 +0000 | [diff] [blame] | 8 | /* |
rsc | d51419b | 2004-02-09 19:33:05 +0000 | [diff] [blame] | 9 | #pragma lib "libcomplete.a" |
| 10 | #pragma src "/sys/src/libcomplete" |
rsc | 91c13e5 | 2004-02-29 22:11:15 +0000 | [diff] [blame] | 11 | */ |
rsc | d51419b | 2004-02-09 19:33:05 +0000 | [diff] [blame] | 12 | |
| 13 | typedef struct Completion Completion; |
| 14 | |
| 15 | struct Completion{ |
| 16 | uchar advance; /* whether forward progress has been made */ |
| 17 | uchar complete; /* whether the completion now represents a file or directory */ |
| 18 | char *string; /* the string to advance, suffixed " " or "/" for file or directory */ |
rsc | 91c13e5 | 2004-02-29 22:11:15 +0000 | [diff] [blame] | 19 | int nmatch; /* number of files that matched */ |
| 20 | int nfile; /* number of files returned */ |
rsc | d51419b | 2004-02-09 19:33:05 +0000 | [diff] [blame] | 21 | char **filename; /* their names */ |
| 22 | }; |
| 23 | |
| 24 | Completion* complete(char *dir, char *s); |
| 25 | void freecompletion(Completion*); |
rsc | 1a0954a | 2005-01-04 21:18:08 +0000 | [diff] [blame] | 26 | |
| 27 | #if defined(__cplusplus) |
| 28 | } |
| 29 | #endif |
| 30 | #endif |