Lines Matching refs:lease

30  * Notify of some lease change
37 RRLeasePtr lease;
40 xorg_list_for_each_entry(lease, &scr_priv->leases, list) {
41 if (lease->id != None && (lease->state == RRLeaseCreating ||
42 lease->state == RRLeaseTerminating))
49 .lease = lease->id,
50 .created = lease->state == RRLeaseCreating,
58 * Change the state of a lease and let anyone watching leases know
61 RRLeaseChangeState(RRLeasePtr lease, RRLeaseState old, RRLeaseState new)
63 ScreenPtr screen = lease->screen;
66 lease->state = old;
68 RRSetChanged(lease->screen);
69 RRTellChanged(lease->screen);
71 lease->state = new;
75 * Allocate and initialize a lease
80 RRLeasePtr lease;
81 lease = calloc(1,
85 if (!lease)
87 lease->screen = screen;
88 xorg_list_init(&lease->list);
89 lease->id = lid;
90 lease->state = RRLeaseCreating;
91 lease->numCrtcs = numCrtcs;
92 lease->numOutputs = numOutputs;
93 lease->crtcs = (RRCrtcPtr *) (lease + 1);
94 lease->outputs = (RROutputPtr *) (lease->crtcs + numCrtcs);
95 return lease;
106 RRLeasePtr lease;
109 xorg_list_for_each_entry(lease, &scr_priv->leases, list) {
110 for (c = 0; c < lease->numCrtcs; c++)
111 if (lease->crtcs[c] == crtc)
125 RRLeasePtr lease;
128 xorg_list_for_each_entry(lease, &scr_priv->leases, list) {
129 for (o = 0; o < lease->numOutputs; o++)
130 if (lease->outputs[o] == output)
137 * A lease has been terminated.
143 RRLeaseTerminated(RRLeasePtr lease)
145 /* Notify clients with events, but only if this isn't during lease creation */
146 if (lease->state == RRLeaseRunning)
147 RRLeaseChangeState(lease, RRLeaseTerminating, RRLeaseTerminating);
149 if (lease->id != None)
150 FreeResource(lease->id, RT_NONE);
152 xorg_list_del(&lease->list);
156 * A lease is completely shut down and is
161 RRLeaseFree(RRLeasePtr lease)
163 free(lease);
167 * Ask the driver to terminate a lease. The
173 RRTerminateLease(RRLeasePtr lease)
175 ScreenPtr screen = lease->screen;
178 scr_priv->rrTerminateLease(screen, lease);
182 * Destroy a lease resource ID. All this
183 * does is note that the lease no longer has an ID, and
189 RRLeasePtr lease = value;
191 lease->id = None;
196 * Create the lease resource type during server initialization
215 RRLeasePtr lease;
245 /* Allocate a structure to hold all of the lease information */
247 lease = RRLeaseAlloc(screen, stuff->lid, stuff->nCrtcs, stuff->nOutputs);
248 if (!lease)
270 lease->crtcs[c] = crtc;
291 lease->outputs[o] = output;
294 rc = scr_priv->rrCreateLease(screen, lease, &fd);
298 xorg_list_add(&lease->list, &scr_priv->leases);
300 if (!AddResource(stuff->lid, RRLeaseType, lease)) {
306 RRTerminateLease(lease);
311 RRLeaseChangeState(lease, RRLeaseCreating, RRLeaseRunning);
330 free(lease);
338 RRLeasePtr lease;
342 VERIFY_RR_LEASE(stuff->lid, lease, DixDestroyAccess);
345 RRTerminateLease(lease);