Lines Matching refs:ev

76 #define	HNEXT(h, ev)		(*(h)->h_next)((h)->h_ref, ev)
77 #define HFIRST(h, ev) (*(h)->h_first)((h)->h_ref, ev)
78 #define HPREV(h, ev) (*(h)->h_prev)((h)->h_ref, ev)
79 #define HLAST(h, ev) (*(h)->h_last)((h)->h_ref, ev)
80 #define HCURR(h, ev) (*(h)->h_curr)((h)->h_ref, ev)
81 #define HSET(h, ev, n) (*(h)->h_set)((h)->h_ref, ev, n)
82 #define HCLEAR(h, ev) (*(h)->h_clear)((h)->h_ref, ev)
83 #define HENTER(h, ev, str) (*(h)->h_enter)((h)->h_ref, ev, str)
84 #define HADD(h, ev, str) (*(h)->h_add)((h)->h_ref, ev, str)
85 #define HDEL(h, ev, n) (*(h)->h_del)((h)->h_ref, ev, n)
118 HistEvent ev; /* What we return */
208 history_def_first(ptr_t p, HistEvent *ev)
214 *ev = h->cursor->ev;
216 he_seterrev(ev, _HE_FIRST_NOTFOUND);
228 history_def_last(ptr_t p, HistEvent *ev)
234 *ev = h->cursor->ev;
236 he_seterrev(ev, _HE_LAST_NOTFOUND);
248 history_def_next(ptr_t p, HistEvent *ev)
253 he_seterrev(ev, _HE_EMPTY_LIST);
258 he_seterrev(ev, _HE_END_REACHED);
263 *ev = h->cursor->ev;
273 history_def_prev(ptr_t p, HistEvent *ev)
278 he_seterrev(ev,
284 he_seterrev(ev, _HE_START_REACHED);
289 *ev = h->cursor->ev;
299 history_def_curr(ptr_t p, HistEvent *ev)
304 *ev = h->cursor->ev;
306 he_seterrev(ev,
320 history_def_set(ptr_t p, HistEvent *ev, const int n)
325 he_seterrev(ev, _HE_EMPTY_LIST);
328 if (h->cursor == &h->list || h->cursor->ev.num != n) {
331 if (h->cursor->ev.num == n)
335 he_seterrev(ev, _HE_NOT_FOUND);
347 history_set_nth(ptr_t p, HistEvent *ev, int n)
352 he_seterrev(ev, _HE_EMPTY_LIST);
360 he_seterrev(ev, _HE_NOT_FOUND);
371 history_def_add(ptr_t p, HistEvent *ev, const char *str)
376 HistEventPrivate *evp = (void *)&h->cursor->ev;
379 return (history_def_enter(p, ev, str));
383 he_seterrev(ev, _HE_MALLOC_FAILED);
386 (void) strlcpy(s, h->cursor->ev.str, len);
390 *ev = h->cursor->ev;
396 history_deldata_nth(history_t *h, HistEvent *ev,
399 if (history_set_nth(h, ev, num) != 0)
404 ev->str = strdup(h->cursor->ev.str);
405 ev->num = h->cursor->ev.num;
408 history_def_delete(h, ev, h->cursor);
418 history_def_del(ptr_t p, HistEvent *ev __unused,
422 if (history_def_set(h, ev, num) != 0)
424 ev->str = strdup(h->cursor->ev.str);
425 ev->num = h->cursor->ev.num;
426 history_def_delete(h, ev, h->cursor);
437 HistEvent *ev __unused, hentry_t *hp)
439 HistEventPrivate *evp = (void *)&hp->ev;
459 history_def_insert(history_t *h, HistEvent *ev, const char *str)
465 if ((h->cursor->ev.str = h_strdup(str)) == NULL) {
470 h->cursor->ev.num = ++h->eventid;
477 *ev = h->cursor->ev;
480 he_seterrev(ev, _HE_MALLOC_FAILED);
489 history_def_enter(ptr_t p, HistEvent *ev, const char *str)
494 strcmp(h->list.next->ev.str, str) == 0)
497 if (history_def_insert(h, ev, str) == -1)
505 history_def_delete(h, ev, h->list.prev);
516 history_def_init(ptr_t *p, HistEvent *ev __unused, int n)
528 h->list.ev.str = NULL;
529 h->list.ev.num = 0;
541 history_def_clear(ptr_t p, HistEvent *ev)
546 history_def_delete(h, ev, h->list.prev);
562 HistEvent ev;
567 if (history_def_init(&h->h_ref, &ev, 0) == -1) {
593 HistEvent ev;
596 history_def_clear(h->h_ref, &ev);
607 history_setsize(History *h, HistEvent *ev, int num)
611 he_seterrev(ev, _HE_NOT_ALLOWED);
615 he_seterrev(ev, _HE_BAD_PARAM);
627 history_getsize(History *h, HistEvent *ev)
630 he_seterrev(ev, _HE_NOT_ALLOWED);
633 ev->num = history_def_getsize(h->h_ref);
634 if (ev->num < -1) {
635 he_seterrev(ev, _HE_SIZE_NEGATIVE);
646 history_setunique(History *h, HistEvent *ev, int uni)
650 he_seterrev(ev, _HE_NOT_ALLOWED);
662 history_getunique(History *h, HistEvent *ev)
665 he_seterrev(ev, _HE_NOT_ALLOWED);
668 ev->num = history_def_getunique(h->h_ref);
679 HistEvent ev;
686 history_def_init(&h->h_ref, &ev, 0);
701 history_def_clear(h->h_ref, &ev);
730 HistEvent ev;
764 if (HENTER(h, &ev, ptr) == -1) {
784 HistEvent ev;
799 for (i = 0, retval = HLAST(h, &ev);
801 retval = HPREV(h, &ev), i++) {
802 len = strlen(ev.str) * 4;
813 (void) strvis(ptr, ev.str, VIS_WHITE);
828 history_prev_event(History *h, HistEvent *ev, int num)
832 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
833 if (ev->num == num)
836 he_seterrev(ev, _HE_NOT_FOUND);
842 history_next_evdata(History *h, HistEvent *ev, int num, void **d)
846 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
853 he_seterrev(ev, _HE_NOT_FOUND);
862 history_next_event(History *h, HistEvent *ev, int num)
866 for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev))
867 if (ev->num == num)
870 he_seterrev(ev, _HE_NOT_FOUND);
879 history_prev_string(History *h, HistEvent *ev, const char *str)
884 for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev))
885 if (strncmp(str, ev->str, len) == 0)
888 he_seterrev(ev, _HE_NOT_FOUND);
897 history_next_string(History *h, HistEvent *ev, const char *str)
902 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
903 if (strncmp(str, ev->str, len) == 0)
906 he_seterrev(ev, _HE_NOT_FOUND);
915 history(History *h, HistEvent *ev, int fun, ...)
923 he_seterrev(ev, _HE_OK);
927 retval = history_getsize(h, ev);
931 retval = history_setsize(h, ev, va_arg(va, int));
935 retval = history_getunique(h, ev);
939 retval = history_setunique(h, ev, va_arg(va, int));
944 retval = HADD(h, ev, str);
948 retval = HDEL(h, ev, va_arg(va, const int));
953 if ((retval = HENTER(h, ev, str)) != -1)
954 h->h_ent = ev->num;
959 if ((retval = HSET(h, ev, h->h_ent)) != -1)
960 retval = HADD(h, ev, str);
964 retval = HFIRST(h, ev);
968 retval = HNEXT(h, ev);
972 retval = HLAST(h, ev);
976 retval = HPREV(h, ev);
980 retval = HCURR(h, ev);
984 retval = HSET(h, ev, va_arg(va, const int));
988 HCLEAR(h, ev);
995 he_seterrev(ev, _HE_HIST_READ);
1001 he_seterrev(ev, _HE_HIST_WRITE);
1005 retval = history_prev_event(h, ev, va_arg(va, int));
1009 retval = history_next_event(h, ev, va_arg(va, int));
1013 retval = history_prev_string(h, ev, va_arg(va, const char *));
1017 retval = history_next_string(h, ev, va_arg(va, const char *));
1038 he_seterrev(ev, _HE_PARAM_MISSING);
1051 retval = history_next_evdata(h, ev, num, d);
1059 retval = history_deldata_nth((history_t *)h->h_ref, ev, num, d);
1072 ((history_t *)h->h_ref)->cursor->ev.str = s;
1080 he_seterrev(ev, _HE_UNKNOWN);