#ifndef __HMM_H__ #define __HMM_H__ struct hmm { u32 *table; u32 next; u32 avail; u32 count; }; int init_hmm(struct hmm *mm, u32 count); u32 alloc_handle(struct hmm *mm); int free_handle(struct hmm *mm, u32 handle); #define hmm_get_data(mm, handle) \ ((mm)->table[(handle)-1]) #define hmm_set_data(mm, handle, val) \ ((mm)->table[(handle)-1]) = (u32)(val) #endif /* __HMM_H__ */