.TH LIBQUANTA_MALLOC_PALETTE 3 libquanta .SH NAME libquanta_malloc_palette \- Allocation a palette .SH SYNPOSIS .nf #include \fBstruct libquanta_palette\fP { size_t \fIsize\fP; uint64_t \fIpalette\fP[]; }; struct libquanta_palette *\fBlibquanta_malloc_palette\fP(size_t \fIncolours\fP, size_t \fInchannels\fP); .fi .PP Link with .IR -lquanta . .SH DESCRIPTION The .BR libquanta_malloc_palette () function allocates a new palette holding a maximum of .I ncolours colours, each with .I nchannels primary colours. .PP .I .size in the structure refered to by the returned pointer will be set to .IR ncolours . .PP .I ncolours shall be the maximum number of colours the palette may hold. Must be at least 1. .PP .I nchannels shall be the number of colour channels in the image. Must be at least 1. .SH RETURN VALUE Upon successful completion, the .BR libquanta_malloc_palette () function returns a pointer to newly palette. The caller is responsable for deallocating the memory, that the returned value points to, using the .BR free (3) function. On failure, the function return .I NULL and set .I errno to indicate the error. .SH ERRORS The .BR libquanta_malloc_palette () function may fail if: .TP .B EINVAL .I ncolours or .I nchannels is 0. .TP .B ENOMEM Storage space available is insufficient. .SH SEE ALSO .BR libquanta (7), .BR libquanta_palette_size (3), .BR libquanta_quantise (3)