Lines Matching refs:disc
39 Dt_t* _dtopen(Dtdisc_t* disc, Dtmethod_t* meth, unsigned long version)
41 Dt_t* _dtopen(disc, meth, version)
42 Dtdisc_t* disc;
51 if(!disc || !meth)
61 dtdisc(&pdt,disc,0); /* note that this sets pdt.memoryf */
63 if(disc->eventf)
64 { if((ev = (*disc->eventf)(&pdt,DT_OPEN,(Void_t*)(&data),disc)) < 0)
99 if(disc->eventf) /* signal opening is done */
100 (void)(*disc->eventf)(dt, DT_ENDOPEN, (Void_t*)0, disc);
111 Dt_t* dtopen(Dtdisc_t* disc, Dtmethod_t* meth)
113 Dt_t* dtopen(disc, meth)
114 Dtdisc_t* disc;
118 return _dtopen(disc, meth, 20050420L);
125 Dtdisc_t *disc = dt->disc;
128 if(!(type&DT_ATTACH) && disc->makef && !(obj = (*disc->makef)(dt, obj, disc)) )
131 if(disc->link >= 0) /* holder is embedded in obj itself */
132 return _DTLNK(disc, obj);
135 if((h = (Dthold_t*)(dt->memoryf)(dt, NIL(Void_t*), sizeof(Dthold_t), disc)) )
139 if(!(type&DT_ATTACH) && disc->makef && disc->freef)
140 (void)(*disc->freef)(dt, obj, disc); /* free just-made obj */
148 Dtdisc_t *disc = dt->disc;
150 if(!(type&DT_DETACH) && disc->freef) /* free object */
151 (void)(*disc->freef)(dt, _DTOBJ(disc,l), disc);
153 if(disc->link < 0) /* free holder */
154 (void)(*dt->memoryf)(dt, (Void_t*)l, 0, disc);