1 /* |
1 /* |
2 * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
827 fields[TypeFunc::Parms+0] = NULL; // void |
827 fields[TypeFunc::Parms+0] = NULL; // void |
828 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields); |
828 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields); |
829 return TypeFunc::make(domain, range); |
829 return TypeFunc::make(domain, range); |
830 } |
830 } |
831 |
831 |
|
832 /** |
|
833 * int updateBytesCRC32(int crc, byte* b, int len) |
|
834 */ |
|
835 const TypeFunc* OptoRuntime::updateBytesCRC32_Type() { |
|
836 // create input type (domain) |
|
837 int num_args = 3; |
|
838 int argcnt = num_args; |
|
839 const Type** fields = TypeTuple::fields(argcnt); |
|
840 int argp = TypeFunc::Parms; |
|
841 fields[argp++] = TypeInt::INT; // crc |
|
842 fields[argp++] = TypePtr::NOTNULL; // src |
|
843 fields[argp++] = TypeInt::INT; // len |
|
844 assert(argp == TypeFunc::Parms+argcnt, "correct decoding"); |
|
845 const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields); |
|
846 |
|
847 // result type needed |
|
848 fields = TypeTuple::fields(1); |
|
849 fields[TypeFunc::Parms+0] = TypeInt::INT; // crc result |
|
850 const TypeTuple* range = TypeTuple::make(TypeFunc::Parms+1, fields); |
|
851 return TypeFunc::make(domain, range); |
|
852 } |
|
853 |
832 // for cipherBlockChaining calls of aescrypt encrypt/decrypt, four pointers and a length, returning void |
854 // for cipherBlockChaining calls of aescrypt encrypt/decrypt, four pointers and a length, returning void |
833 const TypeFunc* OptoRuntime::cipherBlockChaining_aescrypt_Type() { |
855 const TypeFunc* OptoRuntime::cipherBlockChaining_aescrypt_Type() { |
834 // create input type (domain) |
856 // create input type (domain) |
835 int num_args = 5; |
857 int num_args = 5; |
836 int argcnt = num_args; |
858 int argcnt = num_args; |