Man Linux: Main Page and Category List

NAME

       packfile_password  -  Sets  the global I/O encryption password. Allegro
       game programming library.

SYNOPSIS

       #include <allegro.h>

       void packfile_password(const char *password);

DESCRIPTION

       Sets the encryption password to be used for all  read/write  operations
       on  files  opened in future using Allegro's packfile functions (whether
       they are compressed or not), including all the save,  load  and  config
       routines.  Files  written  with  an  encryption password cannot be read
       unless the same password is selected, so be careful: if you forget  the
       key,  nobody  can make your data come back again! Pass NULL or an empty
       string to return to the normal, non-encrypted mode. If  you  are  using
       this  function  to  prevent people getting access to your datafiles, be
       careful  not  to  store  an  obvious  copy  of  the  password  in  your
       executable:  if  there  are  any strings like "I'm the password for the
       datafile", it would be fairly easy to get access to your data :-)

       Note #1: when writing a  packfile,  you  can  change  the  password  to
       whatever  you  want after opening the file, without affecting the write
       operation.  On the contrary, when writing a sub-chunk  of  a  packfile,
       you  must  make  sure that the password that was active at the time the
       sub-chunk was opened is still active before closing the sub-chunk. This
       is  guaranteed  to  be  true if you didn't call the packfile_password()
       routine in the meantime. Read operations, either on packfiles  or  sub-
       chunks, have no such restriction.

       Note  #2:  as  explained above, the password is used for all read/write
       operations on files, including for several  functions  of  the  library
       that   operate  on  files  without  explicitly  using  packfiles  (e.g.
       load_bitmap()).  The unencrypted mode is mandatory in order  for  those
       functions  to work.  Therefore remember to call packfile_password(NULL)
       before using them if you previously changed the password. As a rule  of
       thumb,  always  call  packfile_password(NULL)  when  you  are done with
       operations  on  packfiles.   The  only  exception  to  this  is  custom
       packfiles created with pack_fopen_vtable().

SEE ALSO

       pack_fopen(3alleg), load_datafile(3alleg), pack_fopen_vtable(3alleg)