github.com/versent/saml2aws@v2.17.0+incompatible/helper/osxkeychain/osxkeychain_darwin.h (about)

     1  // Copyright (c) 2016 David Calavera
     2  
     3  // Permission is hereby granted, free of charge, to any person obtaining
     4  // a copy of this software and associated documentation files (the
     5  // "Software"), to deal in the Software without restriction, including
     6  // without limitation the rights to use, copy, modify, merge, publish,
     7  // distribute, sublicense, and/or sell copies of the Software, and to
     8  // permit persons to whom the Software is furnished to do so, subject to
     9  // the following conditions:
    10  
    11  // The above copyright notice and this permission notice shall be
    12  // included in all copies or substantial portions of the Software.
    13  
    14  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    15  // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    16  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    17  // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    18  // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    19  // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    20  // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    21  //
    22  // https://github.com/docker/docker-credential-helpers
    23  #include <Security/Security.h>
    24  
    25  struct Server {
    26    SecProtocolType proto;
    27    char *host;
    28    char *path;
    29    unsigned int port;
    30  };
    31  
    32  char *keychain_add(struct Server *server, char *label, char *username, char *secret);
    33  char *keychain_get(struct Server *server, unsigned int *username_l, char **username, unsigned int *secret_l, char **secret);
    34  char *keychain_delete(struct Server *server);
    35  char *keychain_list(char *credsLabel, char *** data, char *** accts, unsigned int *list_l);
    36  void freeListData(char *** data, unsigned int length);