Lines Matching refs:ev

81 #define	HNEXT(h, ev)		(*(h)->h_next)((h)->h_ref, ev)
82 #define HFIRST(h, ev) (*(h)->h_first)((h)->h_ref, ev)
83 #define HPREV(h, ev) (*(h)->h_prev)((h)->h_ref, ev)
84 #define HLAST(h, ev) (*(h)->h_last)((h)->h_ref, ev)
85 #define HCURR(h, ev) (*(h)->h_curr)((h)->h_ref, ev)
86 #define HSET(h, ev, n) (*(h)->h_set)((h)->h_ref, ev, n)
87 #define HCLEAR(h, ev) (*(h)->h_clear)((h)->h_ref, ev)
88 #define HENTER(h, ev, str) (*(h)->h_enter)((h)->h_ref, ev, str)
89 #define HADD(h, ev, str) (*(h)->h_add)((h)->h_ref, ev, str)
90 #define HDEL(h, ev, n) (*(h)->h_del)((h)->h_ref, ev, n)
123 TYPE(HistEvent) ev; /* What we return */
213 history_def_first(void *p, TYPE(HistEvent) *ev)
219 *ev = h->cursor->ev;
221 he_seterrev(ev, _HE_FIRST_NOTFOUND);
233 history_def_last(void *p, TYPE(HistEvent) *ev)
239 *ev = h->cursor->ev;
241 he_seterrev(ev, _HE_LAST_NOTFOUND);
253 history_def_next(void *p, TYPE(HistEvent) *ev)
258 he_seterrev(ev, _HE_EMPTY_LIST);
263 he_seterrev(ev, _HE_END_REACHED);
268 *ev = h->cursor->ev;
278 history_def_prev(void *p, TYPE(HistEvent) *ev)
283 he_seterrev(ev,
289 he_seterrev(ev, _HE_START_REACHED);
294 *ev = h->cursor->ev;
304 history_def_curr(void *p, TYPE(HistEvent) *ev)
309 *ev = h->cursor->ev;
311 he_seterrev(ev,
325 history_def_set(void *p, TYPE(HistEvent) *ev, const int n)
330 he_seterrev(ev, _HE_EMPTY_LIST);
333 if (h->cursor == &h->list || h->cursor->ev.num != n) {
336 if (h->cursor->ev.num == n)
340 he_seterrev(ev, _HE_NOT_FOUND);
352 history_set_nth(void *p, TYPE(HistEvent) *ev, int n)
357 he_seterrev(ev, _HE_EMPTY_LIST);
365 he_seterrev(ev, _HE_NOT_FOUND);
376 history_def_add(void *p, TYPE(HistEvent) *ev, const Char *str)
381 HistEventPrivate *evp = (void *)&h->cursor->ev;
384 return history_def_enter(p, ev, str);
388 he_seterrev(ev, _HE_MALLOC_FAILED);
391 (void) Strncpy(s, h->cursor->ev.str, len);
396 *ev = h->cursor->ev;
402 history_deldata_nth(history_t *h, TYPE(HistEvent) *ev,
405 if (history_set_nth(h, ev, num) != 0)
410 ev->str = Strdup(h->cursor->ev.str);
411 ev->num = h->cursor->ev.num;
414 history_def_delete(h, ev, h->cursor);
424 history_def_del(void *p, TYPE(HistEvent) *ev __attribute__((__unused__)),
428 if (history_def_set(h, ev, num) != 0)
430 ev->str = Strdup(h->cursor->ev.str);
431 ev->num = h->cursor->ev.num;
432 history_def_delete(h, ev, h->cursor);
443 TYPE(HistEvent) *ev __attribute__((__unused__)), hentry_t *hp)
445 HistEventPrivate *evp = (void *)&hp->ev;
465 history_def_insert(history_t *h, TYPE(HistEvent) *ev, const Char *str)
472 if ((c->ev.str = h_strdup(str)) == NULL) {
477 c->ev.num = ++h->eventid;
485 *ev = c->ev;
488 he_seterrev(ev, _HE_MALLOC_FAILED);
497 history_def_enter(void *p, TYPE(HistEvent) *ev, const Char *str)
502 Strcmp(h->list.next->ev.str, str) == 0)
505 if (history_def_insert(h, ev, str) == -1)
513 history_def_delete(h, ev, h->list.prev);
524 history_def_init(void **p, TYPE(HistEvent) *ev __attribute__((__unused__)), int n)
536 h->list.ev.str = NULL;
537 h->list.ev.num = 0;
549 history_def_clear(void *p, TYPE(HistEvent) *ev)
554 history_def_delete(h, ev, h->list.prev);
571 TYPE(HistEvent) ev;
576 if (history_def_init(&h->h_ref, &ev, 0) == -1) {
602 TYPE(HistEvent) ev;
605 history_def_clear(h->h_ref, &ev);
616 history_setsize(TYPE(History) *h, TYPE(HistEvent) *ev, int num)
620 he_seterrev(ev, _HE_NOT_ALLOWED);
624 he_seterrev(ev, _HE_BAD_PARAM);
636 history_getsize(TYPE(History) *h, TYPE(HistEvent) *ev)
639 he_seterrev(ev, _HE_NOT_ALLOWED);
642 ev->num = history_def_getsize(h->h_ref);
643 if (ev->num < -1) {
644 he_seterrev(ev, _HE_SIZE_NEGATIVE);
655 history_setunique(TYPE(History) *h, TYPE(HistEvent) *ev, int uni)
659 he_seterrev(ev, _HE_NOT_ALLOWED);
671 history_getunique(TYPE(History) *h, TYPE(HistEvent) *ev)
674 he_seterrev(ev, _HE_NOT_ALLOWED);
677 ev->num = history_def_getunique(h->h_ref);
688 TYPE(HistEvent) ev;
695 if (history_def_init(&h->h_ref, &ev, 0) == -1)
711 history_def_clear(h->h_ref, &ev);
783 TYPE(HistEvent) ev;
815 if (HENTER(h, &ev, ct_decode_string(ptr, &conv)) == -1) {
835 TYPE(HistEvent) ev;
854 for (i = 0, retval = HLAST(h, &ev);
856 retval = HPREV(h, &ev), i++) {
857 str = ct_encode_string(ev.str, &conv);
884 history_prev_event(TYPE(History) *h, TYPE(HistEvent) *ev, int num)
888 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
889 if (ev->num == num)
892 he_seterrev(ev, _HE_NOT_FOUND);
898 history_next_evdata(TYPE(History) *h, TYPE(HistEvent) *ev, int num, void **d)
902 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
913 he_seterrev(ev, _HE_NOT_FOUND);
922 history_next_event(TYPE(History) *h, TYPE(HistEvent) *ev, int num)
926 for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev))
927 if (ev->num == num)
930 he_seterrev(ev, _HE_NOT_FOUND);
939 history_prev_string(TYPE(History) *h, TYPE(HistEvent) *ev, const Char *str)
944 for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev))
945 if (Strncmp(str, ev->str, len) == 0)
948 he_seterrev(ev, _HE_NOT_FOUND);
957 history_next_string(TYPE(History) *h, TYPE(HistEvent) *ev, const Char *str)
962 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
963 if (Strncmp(str, ev->str, len) == 0)
966 he_seterrev(ev, _HE_NOT_FOUND);
975 FUNW(history)(TYPE(History) *h, TYPE(HistEvent) *ev, int fun, ...)
983 he_seterrev(ev, _HE_OK);
987 retval = history_getsize(h, ev);
991 retval = history_setsize(h, ev, va_arg(va, int));
995 retval = history_getunique(h, ev);
999 retval = history_setunique(h, ev, va_arg(va, int));
1004 retval = HADD(h, ev, str);
1008 retval = HDEL(h, ev, va_arg(va, const int));
1013 if ((retval = HENTER(h, ev, str)) != -1)
1014 h->h_ent = ev->num;
1019 if ((retval = HSET(h, ev, h->h_ent)) != -1)
1020 retval = HADD(h, ev, str);
1024 retval = HFIRST(h, ev);
1028 retval = HNEXT(h, ev);
1032 retval = HLAST(h, ev);
1036 retval = HPREV(h, ev);
1040 retval = HCURR(h, ev);
1044 retval = HSET(h, ev, va_arg(va, const int));
1048 HCLEAR(h, ev);
1055 he_seterrev(ev, _HE_HIST_READ);
1061 he_seterrev(ev, _HE_HIST_WRITE);
1065 retval = history_prev_event(h, ev, va_arg(va, int));
1069 retval = history_next_event(h, ev, va_arg(va, int));
1073 retval = history_prev_string(h, ev, va_arg(va, const Char *));
1077 retval = history_next_string(h, ev, va_arg(va, const Char *));
1098 he_seterrev(ev, _HE_PARAM_MISSING);
1111 retval = history_next_evdata(h, ev, num, d);
1119 retval = history_deldata_nth((history_t *)h->h_ref, ev, num, d);
1132 ((history_t *)h->h_ref)->cursor->ev.str = s;
1140 he_seterrev(ev, _HE_UNKNOWN);