Lines Matching defs:ppref

82 #define PPREF_NONE ((int *) -1)	/* not using ppref */
184 * what is ppref? ppref is an _optional_ amap feature which is used
193 * that we tried to do ppref's but couldn't alloc the array so just
204 * ppref: -3 4 x x 4 -2 2 -1 3 x -5 2 1 -2 3 x
219 * => ppref's amap must be locked
222 pp_getreflen(int *ppref, int offset, int *refp, int *lenp)
225 if (ppref[offset] > 0) { /* chunk size must be 1 */
226 *refp = ppref[offset] - 1; /* don't forget to adjust */
229 *refp = (ppref[offset] * -1) - 1;
230 *lenp = ppref[offset+1];
237 * => ppref's amap must be locked
240 pp_setreflen(int *ppref, int offset, int ref, int len)
243 ppref[offset] = ref + 1;
245 ppref[offset] = (ref + 1) * -1;
246 ppref[offset+1] = len;
858 /* Establish ppref before we add a duplicate reference to the amap. */
873 * amap_pp_establish: add a ppref array to an amap, if possible.
886 /* Failure - just do not use ppref. */
898 * => caller must check that ppref != PPREF_NONE before calling.
904 int stopslot, *ppref, lcv, prevlcv;
910 ppref = amap->am_ppref;
917 pp_getreflen(ppref, lcv, &ref, &len);
919 pp_setreflen(ppref, lcv, ref, curslot - lcv);
920 pp_setreflen(ppref, curslot, ref, len - (curslot -lcv));
926 pp_getreflen(ppref, prevlcv, &prevref, &prevlen);
931 * the ppref array; that is, there is no previous chunk.
945 pp_getreflen(ppref, lcv, &ref, &len);
947 pp_setreflen(ppref, lcv, ref, stopslot - lcv);
948 pp_setreflen(ppref, stopslot, ref,
956 pp_setreflen(ppref, prevlcv, ref, prevlen + len);
958 pp_setreflen(ppref, lcv, ref, len);
1310 * We must establish the ppref array before changing am_ref
1311 * so that the ppref values match the current amap refcount.