Lines Matching refs:area
57 struct snd_shm_area *area = malloc(sizeof(*area)); in snd_shm_area_create() local
58 if (area) { in snd_shm_area_create()
59 area->shmid = shmid; in snd_shm_area_create()
60 area->ptr = ptr; in snd_shm_area_create()
61 area->share = 1; in snd_shm_area_create()
62 list_add_tail(&area->list, &shm_areas); in snd_shm_area_create()
64 return area; in snd_shm_area_create()
74 struct snd_shm_area *snd_shm_area_share(struct snd_shm_area *area) in snd_shm_area_share() argument
76 if (area == NULL) in snd_shm_area_share()
78 area->share++; in snd_shm_area_share()
79 return area; in snd_shm_area_share()
90 int snd_shm_area_destroy(struct snd_shm_area *area) in snd_shm_area_destroy() argument
92 if (area == NULL) in snd_shm_area_destroy()
94 if (--area->share) in snd_shm_area_destroy()
96 list_del(&area->list); in snd_shm_area_destroy()
97 shmdt(area->ptr); in snd_shm_area_destroy()
98 free(area); in snd_shm_area_destroy()
107 struct snd_shm_area *area; in snd_shm_area_destructor() local
110 area = list_entry(pos, struct snd_shm_area, list); in snd_shm_area_destructor()
111 shmdt(area->ptr); in snd_shm_area_destructor()